环境配置


一、Mysql安装配置

Mysql官网: [https://dev.mysql.com/downloads/mysql/]

1、 在这个目录下新建 data文件夹 和 my.ini文件 如下图所示

image.png
修改my.ini文件

  1. [mysql]
  2. # 设置mysql客户端默认字符集
  3. default-character-set=utf8
  4. [mysqld]
  5. #设置3306端口
  6. port = 3306
  7. # 设置mysql的安装目录
  8. basedir=%MYSQL_HOME%
  9. # 设置mysql数据库的数据的存放目录
  10. datadir=%MYSQL_HOME%\data
  11. # 允许最大连接数
  12. max_connections=200
  13. # 服务端使用的字符集默认为8比特编码的latin1字符集
  14. character-set-server=utf8
  15. # 创建新表时将使用的默认存储引擎
  16. default-storage-engine=INNODB
  17. # 跳过数据库权限验证
  18. skip-grant-tables

2、配置环境变量MYSQL_HOME

image.png
image.png

3、用管理员打开命令窗口

切换到mysql 的bin目录。

  1. mysqld --initialize
  2. #下载服务
  3. mysqld --install
  4. #启动服务
  5. net start mysql
  6. #进入数据库
  7. mysql -u root -p
  8. #设置数据库密码 适用于mysql 5.7版本
  9. update mysql.user set authentication_string=password('123456') where user='root';

将修改 mysql中的 my.ini文件 删掉最后一行的代码(跳过表验证)skip-grant-tables

二、Linux安装Msql

1、下载安装包

下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads
image.png

2、解压并配置Mysql

  1. #1、解压
  2. tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
  3. #2、移动并重命名
  4. mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql
  5. #3、创建mysql用户组和用户并修改权限
  6. groupadd mysql
  7. useradd -r -g mysql mysql
  8. #4、创建数据目录并赋予权限
  9. mkdir -p /data/mysql #创建目录
  10. chown mysql:mysql -R /data/mysql #赋予权限
  11. #5、配置my.cnf
  12. vim /etc/my.cnf
  13. [mysqld]
  14. bind-address=0.0.0.0
  15. port=3306
  16. user=mysql
  17. basedir=/usr/local/mysql
  18. datadir=/data/mysql
  19. socket=/tmp/mysql.sock
  20. log-error=/data/mysql/mysql.err
  21. pid-file=/data/mysql/mysql.pid
  22. #character config
  23. character_set_server=utf8mb4
  24. symbolic-links=0
  25. explicit_defaults_for_timestamp=true
  26. max_allowed_packet=16M
  27. [client]
  28. default-character-set=utf8
  29. [mysql]
  30. default-character-set=utf8

3、初始化mysql

  1. #1、进入mysql的bin目录
  2. cd /usr/local/mysql/bin/
  3. #2、初始化
  4. ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
  5. #3、查看密码
  6. cat /data/mysql/mysql.err
  7. #4、启动mysql,并更改root 密码
  8. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  9. #5、启动服务
  10. service mysql start
  11. #6、进入bin目录并登录mysql
  12. ./mysql -u root -p
  13. #7、修改密码
  14. SET PASSWORD = PASSWORD('123456');
  15. ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
  16. FLUSH PRIVILEGES;
  17. #8、修改登录权限
  18. use mysql #访问mysql库
  19. update user set host = '%' where user = 'root'; #使root能再任何host访问
  20. FLUSH PRIVILEGES; #刷新

初始化过程中若是遇到问题
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
可能是该链接库文件有没有安装使用
命令进行核查
rpm -qa|grep libaio
运行该命令后系统中若无该链接库文件
使用命令

  1. yum install libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,提示成功。

创建用户

  1. create user zero identified by '771846387';
  2. GRANT ALL PRIVILEGES ON *.* TO 'zero'@'%' IDENTIFIED BY '771846387'
  3. FLUSH PRIVILEGES;

4、开放防火墙

  1. #1、开启端口
  2. firewall-cmd --zone=public --add-port=3306/tcp --permanent
  3. #2、重启防火墙
  4. firewall-cmd --reload
  5. #3、查看开放端口
  6. firewall-cmd --list-ports

5、设置开机启动

  1. #赋予可执行权限
  2. chmod +x /etc/init.d/mysqld
  3. #添加服务
  4. chkconfig --add mysqld
  5. #显示服务列表
  6. chkconfig --list

6、用户操作

创建用户

  1. create user username@'host' identified by 'password';
  2. #username: 自定义用户名
  3. #host: 主机范围 %表示所有主机可访问,localhost表示只可本机访问,也可以是具体的主机ip
  4. #password: 自定义密码,可以为空
  5. #例子
  6. create user entangledCotton@'%' identified by '771846387';
  7. create user entangledCotton@'localhost' identified by '771846387';

授权

  1. grant privileges on databasename.tablename tO 'username'@'host'
  2. #databasename: 数据库名
  3. #tablename: 表名
  4. #username: 用户名
  5. #host: 主机范围 %表示所有主机可访问,localhost表示只可本机访问
  6. #例子
  7. grant all privileges on *.* to entangledCotton @'%';
  8. grant all privileges on *.* to entangledCotton @'localhost';
  9. grant insert,delete,update,select on *.* to entangledCotton @'%';

设置与更改用户密码

  1. set password for 'username'@'host' = password('newpassword');
  2. #username: 用户名
  3. #host: 主机名
  4. #newpassword: 新密码
  5. #例子
  6. set password for 'entangledCotton'@'%' = password("771846387");

撤销用户权限

  1. revoke privilege on databasename.tablename from 'username'@'host';
  2. #例子
  3. revoke select on *.* from 'entangledCotton'@'%';

删除用户

  1. drop user 'username'@'host';
  2. #例子
  3. drop user 'entangledCotton'@'%';

刷新权限

  1. flush privileges;