Centos下MySQL的安装及常见问题
Centos7下Mysql 5.6.40 tar包安装
环境:
centos 7 x64
MySQL版本5.6.40
1、下载mysql安装包
mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
官网下载地址: http://dev.mysql.com/downloads/mysql/
2、解压tar包
解压到mysql目录下。
1[root@centos-linux mysql]# cd /usr/local/mysql
2[root@centos-linux ~]# tar -xzvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
3、添加用户与组
在mysql同级目录执行。
1[root@centos-linux mysql]# groupadd mysql
2[root@centos-linux mysql]# useradd -r -g mysql mysql
3[root@centos-linux mysql]# chown -R mysql:mysql mysql
4、安装
1[root@centos-linux mysql]# su mysql
2bash-4.2$ cd mysql/scripts
3bash-4.2$ ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
4bash-4.2$ exit
5、配置文件
1[root@centos-linux mysql]# cd /usr/local/mysql/support-files
2[root@centos-linux support-files]# cp my-default.cnf /etc/my.cnf
3[root@centos-linux support-files]# cp mysql.server /etc/init.d/mysql
4vim /etc/init.d/mysql #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个值
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
6、配置环境变量
1[root@centos-linux mysql]# vim /etc/profile
2[root@centos-linux mysql]# export MYSQL_HOME="/usr/local/mysql"
3[root@centos-linux mysql]# export PATH="$PATH:$MYSQL_HOME/bin"
4#保存退出
5. /etc/profile
7、添加自启动服务
1[root@centos-linux mysql]# chkconfig --add mysql
2[root@centos-linux mysql]# chkconfig mysql on
8、启动mysql
1[root@centos-linux mysql]# service mysql start
9、修改root密码
1mysqladmin -u root password'your_password'#修改root用户密码
10、配置远程访问
1. 修改数据库
1[root@centos-linux mysql]# mysql -u root -p #登录mysql,需要输入密码
2mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY'your_password'WITH GRANT OPTION;#允许root用户远程访问
3mysql>FLUSH PRIVILEGES;#刷新权限
4mysql>exit
2. 开放3306端口:
1[root@centos-linux mysql]# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT #开启3306端口
2[root@centos-linux mysql]# service iptables save #保存防火墙规则
3 [root@centos-linux mysql]# service iptables restart #重置防火墙规则
11、相关问题
1.修改root密码时报错
描述
mysqladmin:command not found解决方法
解决:
通过如下命令建立链接解决
1 [root@centos-linux mysql]# ln-s /mysql安装路径/bin/mysqladmin /usr/bin
2.登录报错:Access denied
描述:
提示一个授权失败的错误:Access denied for user ‘root’@’localhost’ (using passwor)
解决:
配置文件方式解决:
通过修改配置文件解决
1[root@centos-linux mysql]# cd support-files
2[root@centos-linux support-files]# vim my-default.cnf
找到[mysqld] 这一项,然后在该配置项下添加skip-grant-tables 这个配置,然后保存文件。
重启服务。
1#通过下面命令免密码登录
2[root@centos-linux mysql]# mysql -u root -p
3#通过下面命令修改密码
4mysql>set passwordfor'username'@'host'=password('newpassword')
命令方式解决
1[root@centos-linux support-files]# sudo ./mysql.server stop
2Shutting down MySQL
3[root@centos-linux support-files]# sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
4...
5usr/local/mysql/data
6mysql -u root
7UPDATE mysql.user SETauthentication_string=PASSWORD('yourpassword')WHEREUser='root';
8FLUSH PRIVILEGES;
9\q
进入mysql的安全模式后,键入图中圈起来的四行配置(必须逐行输入),输入完成后使用contrl+z 键结束输入
然后再终端中使用mysql -u root -p 同样可以实现密码登录,另外此时密码也已经修改为了pass ,下次的登录即可使用pass这个新密码了。与上面的操作达成的效果是相同的。
3. 文件权限问题
mariadb.log
描述:
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
解决 :
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/
[ERROR] SSL error: Unable to get private key from 'server-key.pem'
find / -name server-key.pem
chown -R mysql:mysql /var/lib/mysql/
权限不够,需要给出相应的权限
mariadb.pid
描述:
/usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)
解决:
mkdir /var/run/mariadb/
chown -R mysql:mysql /var/run/mariadb/