Day2 - 数据库的安装——Linux

1. 离线安装

1、查看 linux下是否有老版本的mysql(有删除)

  1. 查找old mysqlrpm -qa | grep mysql
  2. 卸载:卸载命令:rpm ev {包名}——:rpm -ev mysql-community-common-5.7.23-1.el7.x86_64
  3. 查找老版本mysql相关的安装目录命令:find / -name mysql
  4. 若查找到相关目录使用命令:rm rf {目录名}:删除目录

 2、查看 linux 下是否安装 mariadb 数据库(有的话需要删除,因为有冲突)

  1. 检查是否安装了 mariadb rpm -qa | grep mariadb
  2. 删除mariadbrpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

3、创建mysql存放目录(/root/software)

  1. 创建文件夹:mkdir /root/software
  2. 解压到当前文件夹,并把解压后文件移动到指定文件夹并修文件夹名称:
  3. 解压:tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
  4. 移动并修改名字:mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

4、创建主目录(data:存储目录 ———可省略)

  1. 创建主目录:mkdir /usr/local/mysql/data

5、主目录权限处理(查看是否有就得用户,有删除并新建用户)

  1. 查看组和用户情况:cat /etc/group | grep mysql
  2. 查看组和用户情况:cat /etc/passwd |grep mysql
  3. 若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户并在次查看。
  4. 创建mysql组:groupadd mysql
  5. 创建mysql用户:useradd -r -g mysql mysql
  6. 修改目录拥有者:chown -R mysql:mysql /usr/local/mysql

6、创建配置文件及相关目录(如果在这个路径下已经存在的话就不用创建了)

  1. 创建配置文件:vi /etc/my.cnf
  2. [mysqld]
  3. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  4. basedir=/usr/local/mysql
  5. datadir=/usr/local/mysql/data
  6. port = 3306
  7. socket=/tmp/mysql.sock
  8. pid-file=/tmp/mysqld/mysqld.pid
  9. character-set-server = utf8
  10. log-error=/var/log/mysqld.log
  11. 注释:修改配置文件内容:注意要在模板的 [mysqld] 下面去修改(basedirmysql安装路径,datadir:数据存储目录)
  12. 保存退出:wq!

7、创建文件/tmp/mysql.sock:设置用户组及用户,授权

  1. touch /tmp/mysql.sock
  2. chown mysql:mysql /tmp/mysql.sock
  3. chmod 755 /tmp/mysql.sock

8、创建文件/tmp/mysqld/mysqld.pid

  1. mkdir /tmp/mysqld
  2. chown -R mysql:mysql /tmp/mysqld
  3. touch /tmp/mysqld/mysqld.pid
  4. chmod 755 /tmp/mysqld/mysqld.pid

9、创建文件/var/log/mysqld.log:

  1. touch /var/log/mysqld.log
  2. chown -R mysql:mysql /var/log
  3. chmod 755 /var/log/mysqld.log

10、安装和初始化数据库

  1. 进入初始化目录:cd /usr/local/mysql/bin/
  2. 初始化数据库:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

如果报错:

(./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)

需要安装命令:yum -y install numactl

之后在执行初始化数据库:./mysqld —initialize —user=mysql —basedir=/usr/local/mysql—datadir=/usr/local/mysql/data

如果报错:[ERROR] —initialize specified but the data directory has files in it. Aborting. 清空data目录再试)

11、安全启动:

  1. ./mysqld_safe --user=mysql &

之后回车进入到bin目录

查看是否成功:

  1. ps -ef | grep mysql

默认密码在mysqld.log日志里, 找到后保存到安全的地方:

  1. cat /var/log/mysqld.log|grep password (密码:#Iftdyxjc4*C 8KtaFq-KgcrP

其中root@localhost: 后面的就是默认密码

进入bin目录:

  1. cd /usr/local/mysql/bin/

登录mysql:

  1. ./mysql -u root -p

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

  1. show databases;

密码修改为 aaa

  1. mysql> set password=password("root");

12、设置远程登录权限(在mysql里面设置)

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

刷新登录权限:

  1. mysql> flush privileges;

退出quit 或者 exit

  1. mysql> quit;

13、开机服务启动设置:

把support-files/mysql.server 拷贝为/etc/init.d/mysql:

命令:

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

查看是否成功:(名字为mysql)

  1. cd /etc/init.d/

l4、查看mysql服务是否在服务配置中

  1. chkconfig --list mysql

若没有,则把mysql注册为开机启动的服务,然后在进行查看

  1. chkconfig --add mysql
  2. chkconfig --list mysql

启动 或 停止

  1. service mysql start
  2. service mysql stop

15、创建快捷方式:

服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

  1. ln -s /usr/local/mysql/bin/mysql /usr/bin

16、使用Navicat 连接数据库时会出现(2003)

说明你的防火墙没有关。

解决方案:

//临时关闭

  1. systemctl stop firewalld

//禁止开机启动

  1. systemctl disable firewalld
  2. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service
  3. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service
posted @ 2019-10-26 09:54  侯小飞  阅读(173)  评论(0)    收藏  举报