Mysql安装

1.环境

下载地址:https://dev.mysql.com/downloads/mysql/ 

如下图

Mysql安装

系统 CentOS Linux release 7.6.1810 (Core)
mysql mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

2.安装

2.1 解压下载的mysql

    tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

2.2 移动到 /usr/local/ 目录下并重命名

   mv mysql-5.7.27-linux-glibc2.12-x86_64 /usr/local/mysql

2.3 进入到 /usr/local/mysql 下,并创建data文件夹

  cd /usr/local/mysql

  mkdir data

2.4 为了防止权限导致的问题,先修改mysql目录权限(这里没有新建用户,而是直接用root用户,为了安全还是新建mysql或其他用户来操作比较好)

   chmod -R root.root /usr/local/mysql

2.5 初始化mysql(下面红色部分注意替换成自己的目录。当前所在路径为/usr/local/mysql)

    ./bin/mysql_install_db --user=root --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

2.6 复制配置文件(mysql5.7.18之后不再自动生成my.cnf配置文件,具体参考https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 。如果不用my.cnf配置文件也是可以正常运行的,为了配置方便,可以从其他mysql安装服务器上copy一个拿来用)

  我这里copy一个my.cnf文件至/etc目录下,mysql默认加载配置文件路径如下

Mysql安装

2.7 将mysql放到本地服务中

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

3.启动并修改相关配置

3.1 启动/停止mysql 

    service mysql start

    service mysql start

3.2 登录

    输入命令 mysql  或者 mysql -u root mysql 。此时可能会报错,如果报错就继续3.3,否则调制3.4

3.3 修改mysql的root密码 (注意下面是是多行命令,每次执行一条命令)

    service mysql srop
    mysqld_safe --user=root --skip-grant-tables --skip-networking &
    mysql -u root mysql
    #UPDATE user SET Password=PASSWORD('admin') where USER='root';  --mysql5.7.18以前修改密码
    UPDATE user SET authentication_string=PASSWORD('admin') where USER='root';--mysql5.7.18以后修改密码
    FLUSH PRIVILEGES;
    quit
    /etc/init.d/mysql restart
    mysql -uroot -p

    输入密码即可

3.4 调整mysql为任意ip科登录(生产请根据安全策略自行修改)

    mysql -uroot -padmin    #登录mysql

    use mysql;      --使用mysql库

    update user set host='%' where user='root';     --更改任意ip可使用root用户登录mysql

    flush privileges;    --刷新权限,然后可以使用远程登录进行测试

3.5 开放linux的3306端口

 linux设置开放端口号
        firewall-cmd --zone=public --add-port=3306/tcp --permanent
 查看某端口是否开启
        firewall-cmd --query-port=3306/tcp
 重启防火墙
       firewall-cmd --reload
 查看开启了哪些端口
       firewall-cmd --list-port

或者关闭linux防火墙(不推荐)

    systemctl stop firewalld.service     #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动

    调整完成后进行远程登录测试

4.常见错误及解决

4.1 报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

      解决:登录mysql。并执行  set password = password('admin');  --上面设置的密码

4.2 报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

      解决: 登录mysql并使用mysql库,执行update user set host='%' where user='root';     flush privileges; 两条命令

4.3 报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

      解决:修改mysql密码,执行以下所有命令

     service mysql stop

     /usr/local/mysql/bin/mysqld_safe --user=root --skip-grant-tables --skip-networking &

     mysql -u root mysql

     --update user set password=password('admin') where user='root';    --mysql5.7.18之前版本
     update user set authentication_string=password('admin') where user='root'; --mysql5.7.18以后版本
     flush privileges;
     quit

重启并登录

      service mysql restart

      mysql -uroot -padmin

4.4 配置文件/etc/my.cnf不起作用或报警告mysql: [Warning] World-writable config file '/etc/my.cnf' is ignored.

解决 :mysql认为my.cnf文件没有权限限制,不安全,所以修改my.cnf文件权限

    chmod 644 /etc/my.cnf

4.5 报错bash: mysql: 未找到命令...

 解决:创建链接   ln -s /usr/local/mysql/bin/mysql /usr/bin

4.6 报错ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

解决:可能是因为相关文件没有读写权限,修改mysql目录权限(这里给了不限制权限,根据自己实际情况修改)

      chmod -R 777 /usr/local/mysql/

4.7 报错Failed to start mysql.service: Unit not found.

      解决:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

5.彻底卸载mysql

5.1 rpm -e --nodeps mysql   或者   yum remove mysql mysql-server mysql-libs compat-mysql51

     删除相关文件 rm -rf /var/lib/mysql   和   rm /etc/my.cnf

5.2  rpm -qa|grep mysql命令来查看安装的mysql 并使用 rpm -e [...]      删除展示列表

5.3 找出系统中所有mysql相关文件并删除

      find / -name mysql

     rm -rf [...]

 

上一篇:如何正确关闭Java NIO中的SocketChannel?


下一篇:Neety学习----Java_NIO_知识点(二)