编译安装
- Centos7默认安装了Mariadb数据库,需要先进行卸载。
rpm -qa|grep mariadb // 查询出来已安装的mariadb
rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
- 设置mysql配置文件
Centos7默认配置文件路径位于/etc/my.cnf
若之前存在先进行移除:
rm /etc/my.cnf
- 创建mysql用户组和mysql用户
groupadd mysql //添加mysql用户组
useradd -g mysql mysql
- 解压安装包并重命名移动至目录/usr/local/
tar –zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
mvmysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
- 配置配置文件
cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf
vim /etc/my.cnf
内容参照“配置文件/mysql/my.cnf”
- 安装mysql
cd /usr/local/mysql
修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
安装mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/
修改数据存放目录拥有者为mysql用户
chown -R mysql:mysql /home/mysql/data
- 配置mysql启动
授予my.cnf最大权限
chown 777 /etc/my.cnf
设置开机自启动服务控制脚本
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld
将mysqld服务加入到系统服务,并查看是否生效
chkconfig --add mysqld
chkconfig --list mysqld
命令输出类似下面的结果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
在/usr/local/mysql下创建log文件夹并创建错误日志文件
touch mysql-error.log
命令为:service mysqld start和service mysqld stop
如果启动mysql失败,尝试到mysql目录:chown -R mysql:mysql ./
同时看看/var/lib/mysql/mysql.sock这个路径是否有mysql.sock文件,
没有的话按照下面创建方式创建
- 将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
vim ~/.bash_profile
在最后添加export PATH=$PATH:/usr/local/mysql/bin
保存退出。source ~/.bash_profile使之立刻生效
- 修改用户密码以及远程登录
以root账户登录mysql,默认是没有密码的
mysql -uroot -p
回车进入,这个时候会报出找不到/var/lib/mysql/mysql.sock文件。该文件位于/tmp/mysql.sock
在/var/lib/创建mysql文件夹
进行链接解决ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
重新登录便可以通过。
登录之后use mysql;
update user set password=password('root') where user='root' and host='localhost';
flush privileges;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITHGRANT OPTION;
flush privileges;
防火墙设置:
systemctl start firewalld
firewall-cmd --zone=public --add-port=3306/tcp –-permanent
firewall-cmd --reload #重启firewall