mysql 8.0 安装 、连接
问题:
- 怎么解压 mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz 文件
tar -xvf xxx
mv xxx mysql (重命名为mysql)
-
mysql 应该安装到哪里?
默认安装在 /usr/local/ 下 (名字默认为mysql),阅读 /support-files/mysql.server 脚本可知
采用默认时,可将解压后的mysql文件夹放到 /usr/local 下
自定义路径时,需要自己配置 basedir
3 mysql 的数据应该存在哪?
从上图可看出 数据应该默认存在 /usr/local/mysql/data (也就是$basedir/data),就是说
在 mysql 文件中 的 data 目录下。
如果要另外存放需要指定 datadir。
数据文件需要给予所属者mysql,所属组mysql
mkdir data
groupadd mysql
useradd mysql -g mysql
chown -R mysql:mysql data
4.怎么初始化数据
在mysql的bin目录下执行
./mysqld --initialize --user=mysql --datadir=/soft/data
其中datadir为数据文件存放位置,默认可以不指定
5.怎么运行mysql
查看 /etc/my.cnf 是否存在,可能是新系统预装的数据库或旧数据留下的,建议删除即可。
如果是以默认方式安装的 可以 ./mysql.server start 启动数据库
若非默认模式安装,需要配置 my.cnf 文件
basedir=/soft/mysql
datadir=/soft/data
主要指定安装路径和数据路径。
6.怎么查看进程已经运行
ps -ef | grep mysql
可以看到有两个进程在运行 最后一行对应运行参数
7,怎么停止mysql
在/support-files/ 下执行脚本
./mysql.server stop
8 登陆数据库修改密码
mysql -u root -p
密码为临时的密码 ,在生成初始化数据时生成,忘记了可以把data数据目录下文件全删了,再
次生成即可。
alter user user() identified by 'root';
把密码修改为 root 。新的密码修改方式
9.远程登陆
在mysql数据库中查看host 信息
use mysql;
select host,user,plugin from user;
把root用户对应的host修改为%(默认应该时localhost)
update user set host = "%" where user = 'root';
重启或刷新数据库
FLUSH PRIVILEGES;
此时如果出现 Authentication Plugin "caching_sha2_password" 错误
修改root用户的加密模式
update user set plugin='mysql_native_password' where user='root';
此时原来的密码会失效,连接会提示密码错误,应该重设密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';
FLUSH PRIVILEGES;
关闭防火墙,就可确保一定能连接上
10.如何在一台虚拟机上跑多个mysql实例。
比如同时跑mysql5.7 和 mysql 8.0 或者 跑多个mysql8.0 ,面临的问题是如何优雅地通过脚本启动和关闭MySQL ,其实有一种启动方法是 使用 mysqld --default-file 指定相应的配置文件,问题是不能后台运行,也不知道怎么优雅关闭,除了 kill 命令。此问题尚未找到很清晰的解决方案。。。。
11.总结
这么简单的安装过程花了我6个小时,真是菜,特此写文来记录一下。。。