可能出现的问题一
2019-08-14 18:53:11 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2019-08-14 18:53:11 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32 2019-08-14 18:53:11 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql -- server log begin -- /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory -- server log end --
原因:5.7以上版本命令:mysql_install_db 不可用
解决:
将命令 ./bin/mysql_install_db 替换成 ./bin/mysqld
完整初始化命令:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize
可能会出现问题二
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:
yum install -y libaio
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
可能会出现问题三
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决:
sudo apt-get install numactl
若遇到 sudo: apt-get: command not found问题
解决办法:
sudo apt-get install numactl
或 sudo yum install numactl
再继续调用初始化命令
### 5.处理mysql的配置文件
```{r}
cp -a ./support-files/my-default.cnf /etc/my.cnf (选择y)
可能会出现问题四
主要参考:https://blog.youkuaiyun.com/zxlhaoren/article/details/88022523
[root@loaclhost rocia]# service mysqld start Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/loaclhost.pid).
解决方式一(懒人的方法)重命名配置文件:
mv /etc/my.cnf /etc/my.cnf.backup
解决方式二:
我根据错误日志搞了很久,有百度了好多(哭笑不得)
将[mysqld_safe]下的 log-error值重新定义下(新建一个你自己log输出的文件夹)
mkdir /var/log/mysql
log-error=/var/log/mysql/error.log
如果还是解决不下的话,就根据你在my.cnf 配置文件上的 log-error
路径,查看你的错误日志。
我之前配置了主库的日志索引(log-bin-index)配置是master-bin.index ,所以错误日志输出的信息,出现了master-bin.index
言归正传,MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/loaclhost.pid)
,提示./mysql-bin.index无法找到(由于mysql开启了bin日志功能),到数据库根目录查看该文件是存在的,可能是文件权限的问题,查看了数据库根目录的权限是700,所有者和用户组都是root,可能是上次转移数据库的时候不小心修改了文件夹的权限。
[root@loaclhost mysql]# chgrp -R mysql /usr/local/mysql/data && chown -R mysql /usr/local/mysql/data
可能会出现问题五
[root@loaclhost mysql]# mysql -u root -p bash: mysql: 未找到命令...
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件
解决:
#建立软链接
ln -s /usr/local/mysql/bin/mysql /usr/bin
可能会出现问题六
[root@loaclhost etc]# mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
实际上,mysql的服务是启动成功。
解决:
方法①
从根源上解决:在my.cnf中,将/tmp/mysql.sock 替换掉原来的socket的值,重启服务即可。
方法②
解决当前:每次连接MySQL,都得带上ip
mysql -h 127.0.0.1 -u root -p