Ubuntu18.04安装mysql5.7
1.1安装
首先执行下面三条命令:
安装mysql服务
sudo apt-get install mysql-server
安装客户端
sudo apt install mysql-client
安装依赖
sudo apt install libmysqlclient-dev
检查状态
sudo netstat -tap | grep mysql
1.2设置root密码
mysql5.7安装完成后普通用户不能进mysql,原因:root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password,直接用root权限登录就不用密码,修改root密码和登录验证方式:
$ sudo su
mysql
mysql>
mysql> select user, plugin from mysql.user;
±-----------------±----------------------+
| user | plugin |
±-----------------±----------------------+
| root | auth_socket |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
±-----------------±----------------------+
4 rows in set (0.00 sec)
mysql> update mysql.user set authentication_string=PASSWORD('123456'),plugin='mysql_native_password' where user='root';
mysql> flush privileges;
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart
$ 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.23-0ubuntu18.04.1 (Ubuntu)
Copyright © 2000, 2018, 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>
1.3配置mysql远程登录
修改配置文件,注释掉bind-address = 127.0.0.1
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
保存退出,然后进入mysql服务,执行授权命令:
$ mysql -u root -p
mysql> grant all on *.* to root@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ sudo /etc/init.d/mysql restart
Windows安装MySQL5.7
1.在安装的bin目录下执行
mysqld --install
2.在安装目录下配置my.ini
文件:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\MySQL\mysql-8.0.11-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\mysql-8.0.11-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 设置MySQL严格区分表名,字段名大小写
lower_case_table_names=0
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
3.在安装的bin目录下执行
mysqld --initialize --user=mysql --console
接着就是输入mysqld -install
进行服务的添加
4.net start mysql
启动服务
5.mysql -u root -p
(这里输入在屏幕上出现的生成的临时密码)
6.修改密码:alter user 'root'@'localhost' identified by 'root';
7.配置root远程登录
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
8.查看字符编码:
show variables like 'character_set%';