新手在linux下安装mysql
- 把安装包整到Linux的目录下,我在官网上下载的,用XFTP传过去的
- tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
- 添加系统mysql组和mysql用户:
- 执行命令:groupadd mysql
- useradd -r -g mysql mysql
- 安装数据库:
-yum install mysql-server 先把这个装上
- 进入安装mysql软件目录:执行命令 cd /usr/local/mysql
- 修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
- 安装数据库:执行命令 ./scripts/mysql_install_db –user=mysql
- 修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
- 修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
以上部分是百度经验,那就service mysqld start试一下呗,然后坑就来了
出现第一个问题:
less /var/log/mysqld.log
报错信息:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
报错原因是:
ib_logfile0 和 ib_logfile1这两个文件一定要和innodb_log_file_size的值一样,也不知道什么道理
解决方法:
1.找到那两个文件
find / -name "ib_logfile0"
cd /var/lib/mysql/
mv ib_logfile0 ib_logfile1_root_2016124
mv ib_logfile1 ib_logfile1_root_2016124
2.修改my.cnf文件
innodb_log_file_size=32M
第二个问题:
报错信息
Fatal error: Can't open and lock privilege tables: Table
'mysql.host' doesn't exist
报错原因:
由于编译安装时指定的路径为/opt/data以及mysql_install_db时指定的datadir也为/opt/data,而my.cnf为缺省的路径
1.修改my.cnf文件
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
2. 在运行初始化权限表的时候使用增加参数--datadir
/usr/bin/mysql_install_db --user=mysql --datadir=/opt/zhw/mysql20131204/mysql/usr/bin/mysql_install_db
到这里 service mysqld start 终于成功
- 启动mysql服务和添加开机启动mysql服务:
- 执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录
- 修改mysql的root用户密码,root初始密码为空的:
- ./bin/mysqladmin -u root password ‘密码’ 这里写我写1
- 把mysql客户端放到默认路径:
- ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
然后想进去耍耍
mysql -uroot -p
又报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
网上找各种资料,好像是要改root密码,改一发:
1.service mysqld restart #重启一发
2.mysql -u root mysql #键入此命令进入mysql
3.update user set password=password('123') where user='root' and host='localhost'; ---->修改root的密码
4.flush privileges;
5.\q
然后正常登陆
mysql -u root -p ------>重新进入
Enter password:
mysql>
感动