Linux、Centos7 中MySQL5.6安装文档
mysql5.6 漏洞 mysql用户中有两个空user ,要把它删除。
delete from user where user=” ;
关闭防火墙
systemctl stop firewalld.service //关闭防火墙
systemctl disable firewalld.service //禁止自启动
firewall-cmd –state
1、创建/soft目录,导入包
mkdir /soft
mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解压该包
tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
移动到/usr/local/mysql目录
mv mysql-5.6.36 /usr/local/mysql
2、删除自带的mysql包
rpm –qa|grep mariadb
然后删除
rpm –e –nodeps mariadbxxx
可以用上述语句再次检查这个包是否还在
3、创建组和用户
Groupadd mysql
Useradd –m –r –g mysql –s /bin/false mysql
-m 代表自动建立用户登录目录
-r 建立系统帐号
-g 指定用户所属群组
-s 指定用户登陆后所使用的shell
4、创建必要的文件夹,并赋予权限
mkdir /var/log/mysql
chown mysql:mysql /var/log/mysql
由于5.6版本自带data,所以不用创建,直接给权限
chown –R mysql:mysql /usr/local/mysql/data
初始化
cd /usr/local/mysql/scripts
./mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
报错解决:
yum -y install perl perl-devel
yum -y install autoconf
5、修改配置文件
vi /etc/my.cnf
会看到里面空的,一堆水浪号,不空就是第4步有问题
写入如下内容
[mysqld]
User=mysql
Basedir=/usr/local/mysql
Datadir=/usr/local/mysql/data
Character-set-server=utf8mb4
写了上面这些,就可以基本启动mysql
Log-bin=/usr/local/mysql/data/mysql-bin
这条是二进制日志,嫌烦可以这么写
也可以写log-bin=mysql-bin存储日志就变成默认位置
Log-error=/usr/local/mysql/data/err.log
这条是错误日志,很重要
Server-id=1
这条不加可能会出问题
修改环境变量
vi /etc/profile
出来一堆东西,到最下面添加
Export PATH=/usr/local/mysql/bin:$PATH
保存一下
source /etc/profile
6、启动mysql
mysqld_safe –user= mysql
成功的话,会冒出来两条
失败会看到第三条pid ended
失败主要是my.cnf出了问题
7、登录mysql
mysql –u root
5.6默认没有密码
8、修改密码
set password=password(‘123456’);
Grant all privileges on databasename.tablename to username@’ip addr’ identified by’password’;
grant all privileges on . to ‘root’@’%’ identified by ‘123456’;
databasename和tablename用*代替代表全部
all privileges可以用单个权限替换,多个权限之间用逗号隔开
Ipaddr可以用%代替,eg. 192.168.1.%就是局域网所有用户可用
select, insert, update, delete create,alter,drop等等很多权限
收回权限使用revoke 然后to换成from即可
权限要那个用户重新登录后才生效
要是远程的话还要开放3306端口