安装MySQL教程
约 1857 字
预计阅读 4 分钟
安装教程参考1
安装教程参考2
赋权限教程
linux安装(压缩包方式)
官网下载安装
注意事项
- centos7对应下载
Linux Generic
检查服务器是否有MySQL
rpm -qa|grep mysql
显示没有东西,便是没有安装过mysql
- 如果安装过或者系统自带,便需要去查询所有的mysql对应的文件,进行卸载,全部删除
whereis mysql
find / -name mysql
卸载CentOS7自带的mariadb
- 查看系统自带的
rpm -qa|grep mariadb
- 卸载Mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
- 查看etc下面是否有的my.cnf,
cat /etc/my.cnf
有则删掉 rm /etc/my.cnf
为什么要卸载CentOS7自带的mariadb?
- 首先centos7已经不支持mysql,因为收费,所以内部集成了mariadb,
- 而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
创建mysql用户组
- 检查有没有mysql用户组,没有便进行创建
1
2
|
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
|
- 创建MySQL用户组和用户
1
2
|
groupadd mysql
useradd -r -g mysql mysql
|
上传服务器
- 解压到当前mysql5.7.41
tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz -C .
- 改名
mv mysql-5.7.41-linux-glibc2.12-x86_64 mysql5.7.41
- 移动到默认位置
/usr/local
安装MySQL
- 给用户组添加权限
1
2
|
chown -R mysql:mysql /usr/local/mysql5.7.41
chmod -R 755 /usr/local/mysql5.7.41
|
- 进入bin目录,编译并初始化mysql,请务必记住这个密码
1
2
|
cd /usr/local/mysql5.7.41/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql5.7.41/data --basedir=/usr/local/mysql5.7.41
|
- 编写etc目录下的my.cnf配置文件,并添加配置
1
2
|
//进入配置文件
vi /etc/my.cnf
|
1
2
3
4
5
6
7
8
9
10
|
//在插入模式下编写,完成后保存,当然这个可以自己添加
[mysqld]
datadir=/usr/local/mysql5.7.41/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感1,敏感为0
lower_case_table_names=1
|
- 授予my.cnf 775权限
1
|
chmod -R 775 /etc/my.cnf
|
- 修改mysql5.7.41/support-files/目录下的mysql.server文件,如下图中5个位置的/usr/local/mysql全部修改成自己安装的目录
- 启动服务,并添加软链接
1
2
3
4
5
6
7
8
9
10
11
12
|
// 查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
// 启动服务
/usr/local/mysql5.7.41/support-files/mysql.server start
//添加软连接,并重启mysql 服务
ln -s /usr/local/mysql5.7.41/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql5.7.41/bin/mysql /usr/bin/mysql
//重启mysql服务
service mysql restart
|
- 登录mysql,密码是之前让记住的,并修改密码
1
2
3
4
|
// 登录
mysql -u root -p
// 修改密码
set password for root@localhost = password('你的密码');
|
- 开启远程连接
1
2
3
|
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
|
-
开放端口
-
设置开启自启(按需选择)
1
2
3
4
5
6
7
8
|
//将服务文件拷贝到init.d下,并重命名为mysqld
cp /usr/local/mysql5.7.41/support-files/mysql.server /etc/init.d/mysqld
//赋予可执行权限
chmod +x /etc/init.d/mysqld
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list
|
创建mysql用户,赋权限
教程参考
- 登录数据库(root权限,需要有mysql.user查看权限的用户))
- 创建用户
create user 'hahaen'@'%' identified by '123456';
hahaen
用户名
123456
密码
%
指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
- 修改用户密码
set password for hahaen=password('456789');
- 删除用户
drop user hahaen;
- 授权
1
2
3
4
5
6
|
grant all on *.* to hahaen;
# all :所有数据库权限,包括 select ,update ,insert ,delete
grant select,insert on leo.* to hahaen;
# leo: 数据库名,表示该用户只可对该数据库进行操作
# *: 表名,表示该用户只可对该表进行操作
|
- 取消用户的权限
revoke select on leo .* from hahaen;
- 查看用户权限
show grants for hahaen ;
- 更新数据库
flush privileges;
所有操作必须执行命令立即生效
修改root密码的4种方法
参考
- 用SET PASSWORD命令
1
2
3
|
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例子:mysql> set password for root@localhost = password(‘123’);
|
- 用mysqladmin
1
2
|
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
|
- 用UPDATE直接编辑user表
1
2
3
4
|
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=’root’ and host=’localhost’;
mysql> flush privileges;
|
- 在忘记root密码的时候,可以这样
1
2
3
4
5
6
7
8
9
10
11
|
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
|