Windows 上安装和卸载 MySQL
下载 Windows 版本的 MySQL 安装包(点此跳转)
下载完后,将 zip 包解压到相应的目录,此处解压后的文件放在 D:\MYSQL\mysql-5.7.22 下。
配置 MySQL 的配置文件
打开刚刚解压的文件夹D:\MYSQL\mysql-5.7.22 ,里面有一个系统自带的配置文件 my-default.ini,复制该文件,并粘贴在同一目录下,设置新的文件为 my.ini,也可以新建my.ini文件(文本文档),编辑 my.ini 配置以下基本信息:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\MYSQL\mysql-5.7.22
# 设置mysql数据库的数据的存放目录
datadir=D:\MYSQL\mysql-5.7.22\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
配置系统环境
在path中添加%MYSQL_HOME%\bin
MYSQL初始设置
管理员的身份打开cmd窗口跳转路径到 D:\MYSQL\mysql-5.7.22\bin
- 初始化命令(必须初始化) mysqld --initialize --user=mysql --console
初始化完成后,会生成一个临时密码这里需要注意把临时密码记住
- 接着就是输入mysqld -install添加服务
- 输入net start mysql启动服务
- 输入mysql -u root -p进行登录数据库,这时提示需要密码,然后就是用你上面的密码登录
修改密码语句:
mysql> alter user user() identified by "123456";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
彻底卸载 MYSQL
mysqld -remove // 删除数据库安装的所有文件(包括data文件夹)
net stop mysql // 停止 mysql 服务
sc delete mysql // 删除 mysql
重装系统后,如果没有卸载或清除MYSQL安装目录可以使用 mysqld -install 恢复服务,无需重新安装,但需要重新配置环境
D:\MYSQL\mysql-5.7.22\bin>mysqld -install
Service successfully installed.
Linux 安装 MYSQL
下载 Linux 版本的 MySQL 安装包(跳转)
root@bucaicai:/usr/local/mysql# tar -zxvf ~/Downloads/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C ./
# 创建用户
root@bucaicai:/usr/local/mysql# groupadd mysql
# 创建用户组
root@bucaicai:/usr/local/mysql# useradd -g mysql mysql
# 修改 mysql 目录的归属用户
root@bucaicai:/usr/local/mysql# chown -R mysql:mysql ./
# 创建配置文件
root@bucaicai:/etc# touch my.cnf
root@bucaicai:/etc# vim my.cnf
添加以下代码:
[mysql]
# 设置默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
# 端口
port=3306
socket=/var/lib/mysql/mysql.sock
# 安装目录
basedir=/usr/local/mysql
# 数据存放目录
datadir=/usr/local/mysql/data
# 最大连接数
max_connections=200
# 服务端字符集
character-set-server=utf8
# 默认存储引擎
default-storage-engine=INNODB
root@bucaicai:/usr/local/mysql# mkdir /var/lib/mysql
root@bucaicai:/usr/local/mysql# chmod 777 /var/lib/mysql
root@bucaicai:/usr/local/mysql# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2020-09-01T07:11:58.786039Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-09-01T07:12:00.873655Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-09-01T07:12:01.338318Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-09-01T07:12:01.537826Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 6e838660-ec22-11ea-9c0a-f82fa8f811d9.
2020-09-01T07:12:01.573585Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-09-01T07:12:03.373160Z 0 [Warning] CA certificate ca.pem is self signed.
2020-09-01T07:12:03.716425Z 1 [Note] A temporary password is generated for root@localhost: pC4,8uE)5:Ye
复制启动脚本到资源目录:
root@bucaicai:/usr/local/mysql# cp ./support-files/mysql.server /etc/init.d/mysqld
root@bucaicai:/usr/local/mysql# vim /etc/init.d/mysqld
补全代码:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 设置服务脚本权限
root@bucaicai:/usr/local/mysql# chmod +x /etc/init.d/mysqld
# 加入到系统服务
root@bucaicai:/usr/local/mysql# update-rc.d mysqld defaults 99
// chkconfig --add mysqld
// chkconfig --list mysqld 检查服务是否生效
# 启动 MYSQL 服务
root@bucaicai:/usr/local/mysql# service mysqld start
# 环境配置
root@bucaicai:~# vim ~/.bash_profile
添加如下代码:
export PATH=$PATH:/usr/local/mysql/bin
root@bucaicai:~# source ~/.bash_profile
root@bucaicai:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 修改密码
mysql> alter user user() identified by "123456";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 设置远程主机登录
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)