安装mysql
安装前先卸载之前安装的:(我的是二进制源码方式安装的,采用最后一种方式)
a. 下载mysql安装包(链接: 密码: yrw3)
b. 将压缩包拷贝至/usr/local中(我用的xftp)
c. 安装依赖: [root@mufeng local]# yum -y install perl perl-devel autoconf libaio
d. 解压: [root@mufeng local]# tar
-zxvf mysql-5.6.33-linux-glibc2.5-x86_64.
tar
.gz
重命名解压后的mysql目录: [root@mufeng local]#
mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
e. 添加用户组和用户:
检查mysql组和用户是否存在,如无创建
[root@mufeng local]# cat /etc/group|grep mysql
mysql:x:1000: [root@mufeng local]# cat /etc/passwd|grep mysql mysql:x:997:1000::/home/mysql:/bin/bash 若无则:添加用户组: [root@mufeng local]#
groupadd mysql
添加用户mysql 到用户组mysql:[root@mufeng local]# useradd -r -g mysql mysql
[root@mufeng local]# chown -R mysql mysql/
[root@mufeng local]# chgrp -R mysql mysql/g. 安装和初始化数据库:[root@mufeng local]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
h. 设置启动文件:[root@mufeng local]# cp -a ./support-files/my-default.cnf /etc/my.cnf
[root@mufeng local]# cp -a ./support-files/mysql.server /etc/init.d/mysqld
i. 启动mysql: [root@mufeng mysql]# service mysqld start
Starting MySQL. [ OK ]
j. 设置开机启动:[root@mufeng mysql]# chkconfig --level 35 mysqld on
k. 建立软连接(可在任何目录下访问):[root@mufeng bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin
l. 登录mysql并设置密码(首次无需密码):[root@mufeng bin]# mysql -uroot -p
Enter password:
mysql> set password = password("root");
mysql> flush privileges; //刷新权限
m. 添加远程连接的账号、并设置权限:mysql> grant all privileges on *.* to 'zhanghao'@'%' identified by "password";
mysql> flush privileges;
mysql> select user, password, host from mysql.user; //查看是否添加成功
n. 本地连接测试:
[root@mufeng bin]# mysql -u zhanghao -p
Enter password: ERROR 1045 (28000): Access denied for user 'mufeng'@'localhost' (using password: YES)发现连接不上,但账号密码是正确的,原因:数据库安装初始化时,会创建匿名账户,在本地登录时,会默认去匹配匿名账户,所以此时输入密码,连接时,报密码错误,不输入密码,反而可以直接连接
解决方法:登录root账号,删除匿名账号:mysql> delete from mysql.user where user='';
更新新账号的密码: mysql> update mysql.user set password =PASSWORD('password') where user = 'zhanghao';
刷新权限: mysql> flush privileges;
再次连接(输入密码):成功
o. 远程客户端连接,显示无法连接:
检查端口是否开放:tcping ip 3306 结果:ping不通,解决方法:登录服务器后台,添加安全组入网规则,打开3306端口,再次连接,连接成功。
p. 当更改了配置文件后,需要重启mysql时,有时会遇到这个问题:
解决方法:查看错误文件:[root@mufeng /]# vi /usr/local/mysql/data/mufeng.err
找到相应的错误记录:我的是,2018-08-06 09:56:16 2573 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8'
然后,编辑配置文件:[root@mufeng /]# vi /etc/my.cnf
注释掉,或改正,再次重启即可:
数据库权限设置:
数据库数据备份:忘记root的密码:
MYSQL添加远程用户或允许远程访问三种方法: