一.linux下安装mysql的步骤:
1.将下载好的mysql压缩包上传到服务器上,进入安装包所在目录,执行命令:tar zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
2.复制解压后的mysql目录到系统的本地软件目录,执行命令:cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
3.添加系统mysql组和mysql用户,执行命令:groupadd mysql和useradd -r -g mysql mysql
4.安装数据库:
a.进入安装mysql软件目录:执行命令 cd /usr/local/mysql
b.修改当前目录拥有者为mysql用户:执行命令 chown -R mysql:mysql ./
c.安装数据库:执行命令 ./scripts/mysql_install_db --user=mysql
d.修改当前目录拥有者为root用户:执行命令 chown -R root:root ./
e.修改当前data目录拥有者为mysql用户:执行命令 chown -R mysql:mysql data
到此数据库安装完毕!!!
5.启动mysql服务和添加开机启动mysql服务
a.添加开机启动:执行命令cp support-files/mysql.server /etc/init.d/mysql,把启动脚本放到开机初始化目录
b.启动mysql服务:执行命令service mysql start
c.执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功
6.修改mysql的root用户密码,root初始密码为空的
执行命令:./bin/mysqladmin -u root password '密码'
二。遇到的问题以及解决方法:
1.执行 ./scripts/mysql_install_db --user=mysql 命令时报错,错误信息为:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
解决方法:解决方法是安装autoconf库,执行命令:yum -y install autoconf 安装完成之后继续执行安装mysql的命 令:./scripts/mysql_install_db --user=mysql
参考地址:https://blog.csdn.net/harryptter/article/details/79660166?utm_source=blogxgwz3
2.如果执行上述操作后还是报错,报错信息为:Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
意思是二进制安装mysql初始化出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared
原因:缺少libaio库文件
解决方法:执行命令:yum install libaio* -y
然后执行:./scripts/mysql_install_db --user=mysql 安装成功!
参考地址:参考地址:https://blog.csdn.net/songmao3145/article/details/77676402
3.执行 service mysql start 命令时报错, 错误信息为:
Starting MySQL.190312 10:50:38 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/var/lib/mysql/i[FAILED]m7uc5er89c3gsZ.pid).
解决方法:
[root@localhost /]# /etc/init.d/mysql.server start
Starting MySQL.170603 01:20:16 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
vi /etc/my.cnf
[mysqld_safe]
log-error=/var/log/mysql/mysql.log => 把 mariadb 改成 mysql
pid-file=/var/run/mysql/mysql.pid => 把 mariadb 改成 mysql
mysqldump: Got error: 1105: Unknown error when doing refresh
touch /var/log/mysql/mysql.log
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /var/log/mysql/mysql.log
看情况而定,用的是第一种!
参考地址:https://im0x.com/C/detail/216
4.进入mysql命令 mysql -uroot -p
报错:-bash: mysql: command not found
解决方法:ln -s /usr/local/mysql/bin/mysql /usr/bin
参考地址:https://sefcertyu.iteye.com/blog/1709832
5.输入密码后还是报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方法:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock (在root路径下)
参考地址:https://blog.csdn.net/u013030276/article/details/79640011
OJBK!!!
ps:数据库保存中文时会显示问号,这是因为mysql的数据库编码格式不是utf-8,改成utf-8就OK了,操作:
编辑 /etc/my.cnf 文件
指令:vim /etc/my.cnf
,在 [mysqld] 下面添加一行代码:character_set_server= utf8,然后重启数据库就行了!!!
参考地址:https://blog.csdn.net/qq_34653062/article/details/87967138