一、前置条件:
1.wget:linux中wget未找到命令
yum -y install wget
二、sql安装
1.安装位置
cd /usr/local
2.下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
3.解压
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
4.重命名
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql
5.创建数据存放目录,并授权
cd mysql
mkdir data
chmod -R 777 /usr/local/mysql/data
6.创建用户 、组、并将用户加入组,修改配置文件
groupadd mysql
useradd -g mysql mysql
修改MySQL 配置文件: vi /etc/my.cnf (通过上下左右将光标移动到需要编辑的位置按i进行添加,完成按Esc结束编辑 输入":wq!" 保存退出)
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
7.MySQL 安装并初始化mysql
cd bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/
如果报错:
> ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
是因为没有安装依赖 libaio
yum -y install libaio-devel.x86_64
yum -y install numactl
8.查看mysql 密码
cat /usr/local/mysql/data/mysql.err
没有在控制台打印数据库密码
在data文件中找到mysql.err。打开文件里面有
9.添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql start
10.登录mysql
./mysql -hlocalhost -uroot -p
如果登录的密码老是出错,那请使用忘记密码的操作
11.修改密码
set password=password('root1234');
flush privileges;
二、忘记密码:
1.打开配置文件/etc/my.cnf,然后在里面找到 [mysqld] 这一项,然后在该配置项下添加skip-grant-tables 这个配置,然后保存文件。
2.重启MySQL服务
service mysql restart
3.接着就可以免密登录了:敲入
mysql -u root -p
命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中。
4.修改密码
mysql -u root
update user set authentication_string=password("你的密码") where user="root";
flush privileges;
如果出现第二条出现
ERROR 1046 (3D000): No database selected
就是用下面这条语句选择我们的权限表,在执行上面的第二、三条语句
use mysql
5.退出mysql:
quit
6.重启MySQL服务
service mysql restart
7.登录后使用
set password=password('root1234');
flush privileges;
修改密码,切勿使用弱口令
三、远程连接
虚拟机ip、账号密码
记得开放防火墙端口,不然链接不上
如果连接现实IP无法连接,那可能是你的root没有对所有ip开放,百度了很多,这个博主讲的很好,大家可以去看看