linux下安装MYSQL详细配置

#tar zxvf mysql-5.0.18.tar.gz
#cd  mysql-5.0.18
#./configure --prefix=/usr/local/mysql --with-charset=gb2312  --with-extra-charsets=all  #--prefix指定安装目录,让他支持中文,支持全部语
 
#指定安装路径为/usr/local/mysql,配置文件存放目录/etc,数据库存储目录/var/lib/mysql
./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
(供参考)

#make
#make install
#make clean
#groupadd mysql
#useradd -g mysql mysql  (第一个mysql是组,第二个mysql是用户)
#cd /usr/local/mysql
#cp usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf (或cp /root/mysql-5.0.18
/support-files/my-huge.cnf.sh /etc/my.cnf 网络上是写括号内的,但我试了不行#根据本身主机的状况复制my-*.cnf的一个,huge是应用于内存在2G以上的状况.)

#bin/mysql_install_db --user=mysql #创建基本数据库,必须指明为mysql用户,只有这一步才能在usr/local/mysql下出现var目录。出现以下:
Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
Unknown suffix '@' used for variable 'port' (value '@MYSQL_TCP_PORT@')
080425  4:38:40 /usr/local/mysql/libexec/mysqld: Error while setting value '@MYSQL_TCP_PORT@' to 'port'
Installation of grant tables failed!
Examine the logs in /usr/local/mysql/var for more information.
You can also try to start the mysqld daemon with:
/usr/local/mysql/libexec/mysqld --skip-grant &
You can use the command line tool
/usr/local/mysql/bin/mysql to connect to the mysql
database and look at the grant tables:
shell> /usr/local/mysql/bin/mysql -u root mysql
mysql> show tables
Try 'mysqld --help' if you have problems with paths. Using --log
gives you a log in /usr/local/mysql/var that may be helpful.
The latest information about MySQL is available on the web at
http://www.mysql.com
Please consult the MySQL manual section: 'Problems running mysql_install_db',
and the manual section that describes problems on your OS.
Another information source is the MySQL email archive.
Please check all of the above before mailing us!
And if you do mail us, you MUST use the /usr/local/mysql/bin/mysqlbug script!

# bin/mysqld_safe --user=mysql &  #出现以下提示:
[1] 23095
[root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var
###这样就停在这边,就是正常启动。若是想确认用下面命令
# ps -aux |grep mysql
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
root     23095  0.1  0.2  4408 1084 pts/1    S    04:44   0:00 /bin/sh bin/mysqld_safe --user=mysql
mysql    23118  3.1  2.4 114464 12676 pts/1  Sl   04:44   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --pid-file=/usr/local/mysql/var/localhost.localdomain.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
root     23128  0.0  0.1  5524  640 pts/1    R+   04:44   0:00 grep mysql
###这样表示有mysql进程

#bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.25-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> quit
Bye        ####只有mysql进程,这一步才能执行,由于最初mysql的root密码是空的,因此回车直接就进入。
#bin/mysqladmin -uroot password 123456  (设置mysql的root密码为123456)
#[root@Linux mysql]# bin/mysql -u root -p (用新的密码能够进去,表示设置root密码成功)
Enter password:            (输入完新密码后变成以下:)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.25-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
#bin/mysqld_safe &或/usr/local/mysql/share/mysql/mysql.server start 启动mysql
#/usr/local/mysql/share/mysql/mysql.server stop 中止mysql
#ps -aux|grep mysql查看进程
#kill id号 ----这是杀mysql进程的,id号是在查看mysql进程里面看的到。

咱们来修改一下mysql的启动的方式,让它以系统守护进程的方式开户服务
#cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld 这样下次就能够用/etc/init.d/mysqld start启动了
# bin/mysql -uroot -p
Enter password:
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个是mysql没启动
# /etc/init.d/mysqld start (或/usr/local/mysql/mysql/share/mysql.server start这样启动)
# bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.25-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)
mysql>

#chkconfig --add mysqld 添加mysql为服务
#chkconfig --del mysqld 删除mysql服务
service mysqld restart    #从新启动服务查看是否生效
chkconfig --list mysqld    #查看是否345运行级别都打开mysql
完成!以上安装过程一样适用于mysql5的安装
笔者发现mysql5版本在安装后便可直接使用mysql命令进入数据库,而在4版本系列中,mysql路径并无放入系统环境变量中,输入mysql系统会报找不到这命令的错误,所以笔者擅自修改了环境变量,把mysql的路径添加进环境变量中去。
修改profile文件,将mysql的路径添加到PATH变量中去。
vi /etc/profile
        if ! echo $PATH | /bin/egrep -q "(^|: )$1($|: )" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH: $1:/usr/local/mysql/bin 
           else
              PATH=$1: $PATH:/usr/local/mysql/bin
              编辑/etc/profile文件:               vi /etc/profile               在文件最后添加以下两行:               PATH=$PATH:/usr/local/mysql/bin               export PATH               执行下面的命令使所作的更改生效:               . /etc/profile
相关文章
相关标签/搜索