mysql的下载页面
https://dev.mysql.com/downloads/mysql/5.7.html (使用谷歌浏览器下载可以避免orcal的登录哦)
mysql版本 5.7.25
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.7.25-linux-glibc2.12-x86_64/ mysql
cd mysql
groupadd mysql
useradd -r -g mysql mysql
mkdir data
chown -R mysql /usr/local/mysql #赋值权限为mysql用户
sudo mkdir -p /var/lib/mysql
chown -R mysql /var/lib/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #必须在mysql的目录下执行,不能切换到bin目录下去执行,否则启动时会一直提示表没有创建好
#初始化完毕以后会有一个临时密码的提示需要记录下来,当第一次登录mysql的时候需要用到
./bin/mysqld --user=mysql #启动mysql
./bin/mysql -uroot -p
mysql>set password = password('你的密码'); #修改密码
mysql>grant all privileges on *.* to root@'%' identified by '你的密码'; #为root用户开放远程连接权限
-- 为指定ip开放访问权限
mysql>GRANT ALL PRIVILEGES ON *.* TO root@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>flush privileges;
mysql>exit;
cp ./support-files/my_default.cnf /etc/my.cnf #如果没有可以掠过
cp ./support-files/mysql.server /etc/init.d/mysql #加入开机启动
查询到我们手动启动的mysql进程 ,杀掉以后使用systemctl start mysql
进行启动,使用navicat进行连接 成功
如果使用云服务器的小伙伴们,最好还是检查一下防火墙策略看是否开放了3306端口,ps:开放ip的时候 最好还是不要开放全部ip,小心被黑哦
遇到的坑
如果登录时密码没有记录下来,可以杀掉mysql进程之后,使用./bin/mysqld --user=mysql --skip-grant-tables命令跳过权限验证,
然后使用 ./bin/mysql -uroot -p 出现输入密码页面之后直接回车进入mysql的命令行之中;
use mysql;
update mysql.user set authentication_string=password('root') where user = 'root';
#修改root密码
exit
退出之后需要重新登录,并修改密码 set password = password('你的密码');
修改完成之后继续开放远程连接权限和指定ip 权限等后续步骤
2002 (HY000): Can’t connect to local MySQL server through socket '/tmp/mysql
在/etc/my.cnf中没有配置client ,添加一下几行即可
Failed to start mysqld.service: Unit not found.
原因时centos7 默认安装mariadb 使用命令卸载即可
yum remove mariad*
#卸载mariadb
yum list installed | grep mariadb
#检查是否卸载干净