#make ;make install
====================================
# ls /usr/local/mysql/--编译完成后这个目录就有了
bin include info lib libexec man mysql-test share sql-bench
第一步:手动编写配置文件
[root@li /]# mkdir /usr/local/mysql/etc--建立一个存放配置文件的目录
[root@li /]# vim /usr/local/mysql/etc/my.cnf--编写my.cnf
[mysqld]
port=3307--端口不要和rpm版的3306冲突,这里使用3307
datadir=/data--数据文件存放目录
socket=/var/run/mysqld/mysql5.socket--这里的mysql5是自定义的
pid-file=/var/run/mysqld/mysql5.pid
log=/var/log/mysqld/mysql5.log
log-err=/var/log/mysqld/mysql5-err.log
--这两个日志参数都有点问题(因为5.0与5.1的版本兼容的问题),但不影响启动。
第二步:建立配置文件里所写的相关目录,并修改相应的权限
[root@li /]# mkdir /data /var/run/mysqld/ /var/log/mysqld
[root@li /]# chown mysql.mysql /data /var/log/mysqld /var/run/mysqld/ /usr/local/mysql/ -R
第三步:配置服务脚本
[root@li /]# cp /usr/src/mysql-5.1.36/support-files/mysql.server /etc/init.d/mysql5--拷贝服务脚本模版到正确的位置
[root@li /]# vim /etc/init.d/mysql5 --修改使之指向新编写的配置文件
conf=/usr/local/mysql/etc/my.cnf--修改这句
[root@li /]# chmod 755 /etc/init.d/mysql5 --给服务脚本加执行权限
第四步:初始化数据库,第一次都需要初始化
[root@li /]# /usr/local/mysql/bin/mysql_install_db --datadir=/data/ --user=mysql
第五步:启动服务,并登录
/etc/init.d/mysql5 start
或
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf
# /usr/local/mysql/bin/mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
--上面找不到socket文件,因为我编译时没有把下面这个参数指定,所以默认找/tmp/mysql.sock
--with-unix-socket-path
[root@li /]# /usr/local/mysql/bin/mysql --socket=/var/run/mysqld/mysql5.socket
--现在登录需要指定socket文件的位置,要想不指定,可以按下面方法做
登录时不指定socket的方法:
在配置文件/usr/local/mysql/etc/my.cnf下加上如下一段
[client]
socket=/var/run/mysqld/mysql5.socket
[root@li /]# /usr/local/mysql/bin/mysql --再次登录就不需要指定socket文件了
--为了登录方便(输入/usr/local/mysql/bin/mysql太长),可以用下面的方法来做,然后使用mysql5这个命令来登录
# cp /usr/local/mysql/bin/mysql /bin/mysql5