下载地址 (HTTP): http://mysql.he.net/Downloads/MySQL-3.23/mysql-3.23.55.tar.gz 下载地址 (FTP): ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-3.23/mysql-3.23.55.tar.gz 版本: 3.23.55 包的大小: 11 MB 估计所需硬盘空间: 70 MB |
MySQL包中包括mysql库,服务器端和客户端工具。
出于安全考虑,强烈建议你用非特权用户和用户组来运行该服务:
groupadd mysql && useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql |
用下列命令来编译和安装 mysql:
cp configure configure.old && sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure && ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/sbin \ --localstatedir=/var/lib/mysql \ --enable-thread-safe-client \ --without-debug \ --without-bench && make && make install |
sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure: 这条流编辑命令用于屏蔽mysql的测试。
在/usr/share/mysql下有一些缺省的配置文件可以使用。
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf |
现在我们可以安装数据库并将所有权交给非特权用户和用户组。
mysql_install_db chown -R mysql:mysql /var/lib/mysql |
需要先运行mysql服务器才能进行下一步的配置:
safe_mysqld 2>&1 >/dev/null & |
缺省安装不会为管理员帐号设置密码,因此在这里我们登录并修改密码。 强烈建议你用自己的密码代替"new-password"。
mysql -uroot mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 3.23.51-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> UPDATE user SET password=password('new-password') WHERE user='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> EXIT; bye |
服务器的配置已经完成,我们可以将其关闭。
kill `pidof -x safe_mysqld mysqld` |
如果要在系统启动时自动运行mysql,可以用下面的命令来创建init.d脚本:
cat > /etc/rc.d/init.d/mysql << "EOF" #!/bin/bash # Begin $rc_base/init.d/ # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - [email protected] source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting MySQL daemon..." /usr/bin/safe_mysqld 2>&1 >/dev/null & evaluate_retval ;; stop) echo "Stopping MySQL daemon..." killproc mysqld ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/mysqld ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # End $rc_base/init.d/ EOF chmod 755 /etc/rc.d/init.d/mysql |
用下面的命令在相应的rc.d目录中创建该脚本文件的符号链接:
cd /etc/rc.d/init.d && ln -sf ../init.d/mysql ../rc0.d/K26mysql && ln -sf ../init.d/mysql ../rc1.d/K26mysql && ln -sf ../init.d/mysql ../rc2.d/K26mysql && ln -sf ../init.d/mysql ../rc3.d/S34mysql && ln -sf ../init.d/mysql ../rc4.d/S34mysql && ln -sf ../init.d/mysql ../rc5.d/S34mysql && ln -sf ../init.d/mysql ../rc6.d/K26mysql |
mysql包中包括 mysql, mysqladmin, mysqlcheck, mysqlshow, mysqldump, mysqlimport, mysqltest, mysqlbinlog, replace, comp_err, perror, resolveip, my_print_defaults, resolve_stack_dump, isamchk, isamlog, pack_isam, myisamchk, myisamlog, myisampack, safe_mysqld, mysql_install_db, msql2mysql, mysql_config, mysql_fix_privilege_tables, mysql_setpermission, mysql_zap, mysqlacess, mysqlbug, mysql_convert_table_format, mysql_find_rows, mysqlhotcopy, mysqldumbslow, mysqld_multi and mysqld