Linux下安装mysql基本步骤及踩坑篇
说明:才操作某些文件或文件夹时可能会失败,重点关注文件是否有相应的权限;
文件赋权限命令:chmod +x 文件绝对路径
1.基本步骤
-
上传安装包,解压
-
根windows一样,在MySQL目录下新建好data文件夹
-
一般会在etc目录下存在my.cnf文件,若不存在手动创建,相关配置文件如下:
# # This group is read both both by the client and the server # use it for options that affect everything # [client-server] # # include all files from the config directory # #!includedir /etc/my.cnf.d [mysql] #设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] default_authentication_plugin=mysql_native_password # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M socket=/tmp/mysql.sock symbolic-links=0 [client] port=3306 socket=/tmp/mysql.sock !includedir /etc/my.cnf.d
注意配置文件中两处“socket”的设置,一般在mysql启动后会在/tmp目录下新建mysql.sock文件
-
进度到mysql的bin目录下进行初始化
#注意配置文件路径保持一致 ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize
配置文件初始化完成后会在最后生成一个密码,记得记住密码
-
启动MySQL
service mysql start
这时所有步骤都已经完成,正常使用即可;
2.踩坑篇
-
权限问题,记得给文件赋权限
-
版本问题可能会导致报错如下:
ERROR 2059 (HY000): Plugin caching_sha2_password could not be loaded: /usr/lib64/mariadb/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
这时版本问题,新老密码插件不一样,不用关心,只需要在my.cnf文件中先配置免密登录:
skip-grant-tables
这时再登录就不需要密码;
登录成功后记得修改密码,修改密码命令如下:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
如果修改不成功,记得先刷新一下,修改结束再刷新一下
FLUSH PRIVILEGES;
这时就能正常使用密码登录
-
远程连接失败,不允许其它电脑连接;
出现这种情况首先查看防火墙端口3306是否开启,相关命令之前笔记中有说过;
如果防火墙没问题,修改root用户host的方式,命令如下:
update user set host = '%' where user = 'root';