赞
踩
1.centOS7
2.mysql-8.0.30
MySQL :: Download MySQL Community Server (Archived Versions)
rpm -qa | grep msyql
如果查看出来有东西,可以使用下面命令将其删除(xxx 为文件全名)
rpm -e xxx
1.解压
- 不同包解压方式
- tar -zxvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.gz
- tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar
- tar -xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
2.解压缩完成后
3.复制到 /usr/local 目录下并重命名
- 复制并重命名到/usr/local下
- [root@cskCentOS7 opt] cp -r mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysql
[root@cskCentOS7 opt] groups mysql
添加用户组和用户
[root@cskCentOS7 opt] groupadd mysql && useradd -r -g mysql mysql
文件夹就放在这里就好了
- [root@cskCentOS7 opt] mkdir -p /data/mysql //创建文件夹
- [root@cskCentOS7 opt] chown mysql:mysql -R /data/mysql //给文件夹赋权
- [mysqld]
- #如果想要远程连接数据库,则注释bind-address
- #bind-address=127.0.0.1
- port=3306
- user=mysql
- #mysql根目录
- basedir=/usr/local/mysql
- #数据库存储文件夹
- datadir=/data/mysql
- socket=/tmp/mysql.sock
- log-error=/data/mysql/mysql.err
- pid-file=/data/mysql/mysql.pid
- #character config
- character_set_server=utf8mb4
- symbolic-links=0
- explicit_defaults_for_timestamp=true

- [root@cskCentOS7 opt] cd /usr/local/mysql/bin/
- [root@cskCentOS7 opt] ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看日志并记录下临时密码(没有error的话就是初始化成功)
[root@cskCentOS7 opt] cat /data/mysql/mysql.err
- #将msyql复制到service中,使用service启动
- [root@cskCentOS7 bin] cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- [root@cskCentOS7 bin] service mysql start
启动成功,到这就安装成功了
1. 开启免密码登陆
修改my.cnf文件 默认在/etc/my.cnf。在[mysqld]模块下面添加:skip-grant-tables 保存退出。
[root@cskCentOS7 bin] vim /etc/my.cnf
2. 重启服务,使配置生效 。
[root@cskCentOS7 bin] service mysql restart
3. 登陆 /usr/local/mysql/bin/mysql -u root -p 不用输入密码直接敲回车键(或者输入临时密码)
4. 刷新规则允许外部访问
- mysql> use mysql; #进入mysql数据库
- mysql> select user,host from user; #查询用户访问规则
- mysql> update user set host = '%' where user = 'root'; #修改为任意ip可访问
- mysql> FLUSH PRIVILEGES; #刷新
5.修改密码
- mysql> ALTER USER "root"@"%" IDENTIFIED BY "123456"; #设置密码
- mysql> FLUSH PRIVILEGES; #刷新
- mysql> quit #退出
6.删除免密登录
1.删除/etc/my.cnf 中的 skip-grant-tables 保存退出
2.重启服务 service mysql restart
7.使用新密码登陆
[root@cskCentOS7 bin] /usr/local/mysql/bin/mysql -u root -p
8.设置环境变量
修改文件 vim /etc/my.cnf 在文件最后加入
- export MYSQL_HOME=/usr/local/mysql
- export PATH=$MYSQL_HOME/bin:$PATH
让文件生效
[root@cskCentOS7 mysql] source /etc/profile
CREATE USER '用户名'@'访问级别' IDENTIFIED BY '密码';
访问级别:
- '%' - 所有情况都能访问
- 'localhost' - 本机才能访问
- '111.222.333.444' - 指定 ip 才能访问
mysql8以下版本
mysql> GRANT 权限类型 ON 数据库名.数据库表 TO 用户名@'访问级别' IDENTIFIED BY '密码' WITH GRANT OPTION;
mysql8版本必须分两步来实现用户权限【1、先创建用户;2、对该用户分配权限;3、最后,刷新权限】
- mysql> CREATE USER '用户民'@'访问级别' IDENTIFIED BY '密码';
- mysql> GRANT 权限类型 ON 数据库.数据表 TO '用户名'@'访问级别' WITH GRANT OPTION;
- mysql> FLUSH PRIVILEGES;
权限类型
- 权限类型可以为 all,select,delete,update,create,drop
- 数据库名 所有的 用*
- 数据库表 所有的 用*
如果创建用户报这个错是因为已经存在该用户
- mysql> CREATE USER 'test'@'%' IDENTIFIED BY '123456';
- ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
- mysql> drop user 'test'@'%'; #删除用户
- Query OK, 0 rows affected (0.01 sec)
-
- mysql> flush privileges; #刷新
- Query OK, 0 rows affected (0.00 sec)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。