总述:
myslq的安装步骤大致包括:
1、安装包下载并解压
2、给安装目录添加访问权限
3、初始化mysql,并获取root@localhost临时密码
4、修改mysql配置文件my.cnf,并启动mysql
5、修改mysql的root@localhost密码
6、添加mysql访问账号及远程访问权限
7、添加自启动服务(可选)
8、配置全局环境变量(可选)
具体的安装步骤
1、下载安装包并解压
2、给安装保目录添加权限
a.创建用户(参考修改)
# 以root用户来创建新的用户 , groupadd 添加一个用户组
[root@localhost home]# groupadd elk
# 添加一个用户,-g是在用户组下 -p是密码
[root@localhost home]# useradd elk -g elk -p elk
# 进入es的安装目录
[root@localhost home]# cd /home/elasticsearch
# 给用户elk授权
[root@localhost home]# chown -R elk:elk elasticsearch-6.3.1/
# 切换到 elk用户
[root@localhost elasticsearch]# su elk
b. 给安装目录赋权
chown -R mysql.mysql /usr/local/mysql/(安装目录)
3、初始化mysql,并获取root@localhost临时密码
1)系统用户root启动
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库 2)系统用户非root启动
bin/mysqld --initialize--user=mq--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data --lower-case-table-names=1
mysqld --defaults-file=/home/umysql/mysql/etc/my.cnf --user=umysql &
3)获取root@localhost的临时密码,并保存记录
44、添加环境变量使其可以全局调用(可选)
1)echo'export PATH=$PATH:/home/umysql/mysql/usr/bin/:/home/umysql/mysql/usr/sbin/'>> /home/umysql/.bashrc
2)source /home/umysql/.bashrc
5、修改mysql配置,并启动
5.1 修改mysql配置文件my.cnf,在mysql根目录下创建my.cnf,并按照如下修改配置
[mysqld]
lower_case_table_names=1
basedir=/WNN/mysql_tarsier_linux
datadir=/WNN/mysql_tarsier_linux/data
log_error=/WNN/mysql_tarsier_linux/data/error.log
max_heap_table_size=512M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port=1540
skip-name-resolve max_connections=2000
[client]
loose-default-character-set = utf8
5.2 mysql安装在指定路径下,并加载指定配置文件,启动
- 初始化:mysqld --defaults-file=/home/umysql/mysql/etc/my.cnf --initialize--user=mq(步骤2创建的系统非root用户)
- 启动:mysqld --defaults-file=/home/umysql/mysql/etc/my.cnf --user=mq &
注意:需要修改/tmp/mysql.sock.lock的权限为mq,否则报错:2019-12-07T17:39:44.468128Z 0 [ERROR] [MY-010274] [Server] Could not open unix socket lock file /tmp/mysql.sock.lock.
6、修改mysql的root@localhost密码
1)mysql -uroot -p密码(步骤3.3中产生的临时密码)
2)alter user 'root'@'localhost' identified by '123456';
7、添加mysql访问账号及远程访问权限
注意:8.0版本此命令已不使用:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
7.1 添加root远程访问权限
- 1)use mysql
- 2)select User,authentication_string,Host from user;
使用如下3句进行赋权
- 3)CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
- 4)GRANT ALL ON *.* TO 'root'@'%';
- 5)ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
注意:MYSQL 8.0内新增加mysql_native_password函数,通过更改这个函数密码来进行远程连接,参见https://blog.csdn.net/yi247630676/article/details/80352655
7.2 添加非root账号,并添加远程访问权限
- mysql->createuser'test'@'localhost'identifiedby'123';
- mysql->createuser'test'@'192.168.7.22'identifiedby'123';
- mysql->createuser'test'@'%'identifiedby'123';
注意:/*host="localhost"为本地登录用户,host="ip"为ip地址登录,host="%",为外网ip登======================以下均为可选步骤=====================
8、添加自启动服务
- cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- 添加到系统服务:chkconfig --add mysql
- 检查服务是否生效 :chkconfig --list mysqld
9、配置全局环境变量
在 profile 文件底部添加如下两行配置,保存后退出
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
10、遇到的问题
- Different lower_case_table_names settings forserver('1') and data dictionary ('0').
解决方法:
1)初始化数据库时,--initialize --lower-case-table-names=1
2)my.cnf文件中[mysqld]中添加 lower-case-table-names=1