Linux安装mysql以及遇到的问题解决办法

话不多说,直接开干:

1.mysql下载地址(这里使用的是5.7.28)

官网地址:   https://dev.mysql.com/downloads/mysql/
百度云地址: https://pan.baidu.com/s/1kGXBgt1KP8UzD68iJ-jgFg
提取码:href

2.解压安装包tar -zxvf  mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

   改名mv mysql-5.7.28-linux-glibc2.12-x86_64   mysql-5.7.28

3.创建用户组,用户

   groupadd mysql

   useradd -r -g mysql mysql

4.创建mysql数据仓库目录

   mkdir mysql_data(目录随便,配置正确就好)

   我的路径  basedir=/home/software/soft/mysql/mysql-5.7.28

                   datadir=/home/software/soft/mysql/mysql_data/

5.编辑my.cnf文件

   5.7版本后,mysql取消了此文件,这里手动添加了一个

vi /etc/my.cnf   粘贴如下的内容

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 10G

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
log_bin
character-set-server=utf8
collation-server=utf8_bin
init-connect='SET NAMES utf8'
# These are commonly set, remove the # and set as required.
basedir = /home/software/soft/mysql/mysql-5.7.28
datadir = /home/software/soft/mysql/mysql_data
port = 3306
server_id = 22206
socket = /home/software/soft/mysql/mysql_data/mysql.sock
binlog_format = statement
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
log_bin_trust_function_creators = on
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

lower_case_table_names=1

注意这三个参数:
basedir = /home/software/soft/mysql/mysql-5.7.28 (mysql安装路径)
datadir = /home/software/soft/mysql/mysql_data (mysql数据仓库)
socket = /home/software/soft/mysql/mysql_data/mysql.sock (数据仓库路径下)

6.设置目录访问权限

mysql安装目录执行(注意有个点:代表所有文件)

    chown -R mysql .

    chgrp -R mysql .

    chown -R mysql  /home/software/soft/mysql/mysql_data(数据仓库路径

7.配置参数

mysql安装目录执行(basedir、datadir对应修改)

bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

这里八成会报错:按照提示改就好   /etc/my.cnf at line 5  大多是没有注释完

再次执行 :   bin/mysqld --initialize --user=mysql --basedir=/home/software/soft/mysql/mysql-5.7.28 --datadir=/home/software/soft/mysql/mysql_data/

成功后记录一下这个临时密码,后面改密码需要  :4hwro%Z<6XBj

在mysql安装路径下继续配置:
bin/mysql_ssl_rsa_setup --datadir=/home/software/soft/mysql/mysql_data/

cp  support-files/mysql.server    /etc/init.d/mysql

vi /etc/init.d/mysql

  • 修改 basedir=/home/software/soft/mysql/mysql-5.7.28(安装路径)
  • 修改 datadir=/home/software/soft/mysql/mysql_data/(数据仓库)

7.启动

/etc/init.d/mysql start(启动)

mysql -hlocalhost -uroot -p(如果如图报错)

执行:ln -s /home/software/soft/mysql/mysql-5.7.28/bin/mysql      /usr/bin  (前面的地址安装路径,后面的地址可以不变)

然后再     mysql -hlocalhost -uroot -p(重新登陆),如果报这个错:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

mv 指令移动生成的.sock 和 .sock.lock 文件到/tmp (默认目录)

生成的.sock 和 .sock.lock 在数据仓库目录里面

mv /home/software/soft/mysql/mysql_data/mysql.sock /tmp
mv /home/software/soft/mysql/mysql_data/mysql.sock.lock /tmp

mysql -hlocalhost -uroot -p(再重新登陆,不出意外已经OK)

8.启动后修改数据库相关配置:

修改密码(password(‘root’)) root 即为密码

mysql>      set password=password(‘root’);

设置root账户的host地址(修改了才可以远程连接)

赋权等:

grant all privileges on *.* to 'root'@'%' identified by 'root';

flush privileges;

 

此时 库已经OK

做个校验:

use mysql;

select host,user from user;

这里就可以使用远程连接测试了,如果连接不上,关闭防火墙

Centos6.9

    (service iptables stop)
    永久关闭 chkconfig iptables off

Centos7

    设置开机启用防火墙:systemctl enable firewalld.service
    设置开机禁用防火墙:systemctl disable firewalld.service
    启动防火墙:systemctl start firewalld
    关闭防火墙:systemctl stop firewalld
    检查防火墙状态:systemctl status firewalld
9.配置mysql自动启动

  • chmod 755 /etc/init.d/mysql
  • chkconfig --add mysql
  • chkconfig --level 345 mysql on

一切搞定,结束!

猜你喜欢

转载自blog.csdn.net/Alex_81D/article/details/103059483