一、Windows安装
版本mysql community 8.0.17。
1、将mysql-8.0.17-winx64.zip解压到需要安装的目录下(我的是D:\\MySQL),并新建my.ini文件,目录接口如下
2、打开my.ini,编辑内容如下:
注意:此处basedir和datadir的路径是解压后的安装路径,需将地址换成自己的路径。
[mysqld]
basedir=D:\\MySQL\\mysql-8.0.17-winx64
datadir=D:\\MySQL\\mysql-8.0.17-winx64\\data
port=3306
3、以管理员身份启动cmd,进入MySQL安装目录的bin目录
1)安装MySQL服务:执行mysqld –install命令。(移除是mysqld -remove)
如果出现Service successfully installed.说明注册成功了。
2)初始化MySQL:执行mysqld --initialize --console命令。
表示初始化MySQL,生成data文件夹中的文件。如果没有报错,就表示初始化完成。
执行完后,会输出root用户的初始默认密码(需要记住)。
3)启动MySQL服务:net start mysql命令启动服务器。
停止MySQL服务:net stop mysql。
4)登录:mysql –u root –p,然后按提示输入密码即可登录。
提示我们输入密码,这个密码是MySQL自动生成的初始密码,在data文件夹中找到以.err结尾的文件打开,
然后Ctrl+F搜索password,可以看到如下的搜索出来的初始密码(前面没有记住密码时使用) 。
看到上图,说明MySQL已经配置成功了。
5)修改初始密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test123';
设置好后退出重新登录验证密码。
然后要输入flush privileges;刷新数据库,否则会保留在缓存中。
6)退出:\quit或者\q。
注意重新修改密码加密规则,否则Navicat不能连上数据库。
端口3306;密码:test123;
4、用户root登录开启远程访问权限
1)登录mysql终端
2)执行命令:
use mysql
select host,user from user;
如上图所示,发现root用户的访问权限是localhost,需要修改host为%。
3)执行如下命令:
update user set host='%' where user='root';
flush privileges;
再次查询,结果如下:
二、Linux部署
安装过程适用于centos7.2(麒麟3.10.0-327.el7.x86_64),以下操作在root权限下执行
(一)rpm版 mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar
1、下载安装包并解压缩
2、删除mariadb,(不删除会有冲突导致装不成功)
3、依次安装 common, libs, libs-compact, devel, embedded-compat, client, server。
安装命令如rpm –ivh xxx.rpm
4、初始化
命令行执行,执行完没报错默认为成功
mysqld –initialize;
5、更改权限并启动
命令行执行 chown -R mysql:mysql /var/lib/mysql
然后启动 systemctl start mysqld
6、查看默认密码,启动,并修改密码
查看密码
cat /var/log/mysqld.log |grep password
获得密码后登陆
mysql –u root –p ,输入刚刚查看到的密码
登陆后修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test123';
刷新
flush privileges;
6)退出:\quit或者\q。
注意重新修改密码加密规则,否则Navicat不能连上数据库。
端口3306;密码:test123;
7、用户root登录开启远程访问权限
1)登录mysql终端
2)执行命令:
use mysql
select host,user from user;
发现root用户的访问权限是localhost,需要修改host为%。
3)执行如下命令:
update user set host='%' where user='root';
flush privileges;
(二)绿色版:mysql-8.0.17-el7-x86_64.tar.gz
1、解压缩得到mysql-8.0.17-linux-glibc2.12-x86_64
2、将解压后的包放入目标目录(可自己设定,此目录需与后续配置文件对应上),本示例放入/usr/local/mysql中,
mv mysql-8.0.17-linux-glibc2.12-x86_64 /usr/local/mysql
3、创建数据存储目录(可自己设定,此目录需与后续配置文件对应上),本示例放入/usr/local/mysql/data中
mkdir /usr/local/mysql/data
4、创建组mysql,以及修改根目录权限
groupadd mysql
useradd –r –g mysql mysql
5、拷贝运行程序并修改
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
vi /etc/init.d/mysql.server,
修改
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
6、修改配置文件
备份,cp /etc/my.cnf /etc/my.cnf_bk
vi /etc/my.cnf,修改
注意:basedir、datadir。
[clinet]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = mysql
server-id = 1
port = 3306
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
pid-file = /usr/local/mysql/log/mysql.pid
tmpdir = /tmp
socket=/tmp/mysql.sock
max_connections = 400
max_connect_errors = 1000
max_allowed_packet = 128M
interactive_timeout = 1800
tmp_table_size = 134217728
max_heap_table_size = 134217728
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/log/slow.log
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 5
log_slow_slave_statements = 1
long_query_time = 8
min_examined_row_limit = 100
expire_logs_days = 5
7、初始化,记录产生的临时密码
/usr/local/mysql/bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
8、创建相关日志文件
mkdir /usr/local/mysql/log
touch /usr/local/mysql/log/error.log
touch /usr/local/mysql/log/slow.log
touch /usr/local/mysql/log/mysql.pid
chown –R mysql:mysql /usr/local/mysql/log
9、启动服务
service mysql.server start
10、登录
mysql –u root -p