描述
有时候在内网中linux无法在线安装mysql,因此需要手动安装,这个过程比较麻烦。准备
系统centos7、mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz过程
1)根据自己需要选择在root账号安装mysql,也可以选择其他账户,首先将mysql解压到安装目录下。[root@master datasoft]# tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz2)将解压的目录更名为mysql
[root@master datasoft]# mv mysql-5.7.34-linux-glibc2.12-x86_64 mysql3)给mysql目录添加权限,通常来说是直接创建mysql用户然后,添加权限,不过我自己觉得麻烦是直接给mysql目录用root账户
#这里演示创建mysql用户的操作 #添加mysql组和msyql用户 [root@master datasoft]# groupadd mysql [root@master datasoft]# useradd -s /sbin/nologin -r -g mysql mysql [root@master datasoft]# chown -R mysql:mysql /root/datasoft/mysql #-s:指定用户登入后所使用的shell #-r:系统级用户 #-g:所属分组为mysql #我自己是直接用root用户,不需要创建 [root@master datasoft]# chown -R root:root /root/datasoft/mysql4)在mysql目录中创data和logs目录
[root@master mysql]# mkdir {data,logs}5)修改/etc/my.cnf文件,有的系统可能还要创建/etc/my.cnf.d文件否则会报错找不到该目录
[root@master mysql]# chown 777 /etc/my.cnf [root@master mysql]# vim /etc/my.cnf [mysqld] character_set_server=utf8 character_set_server=utf8 init_connect='SET NAMES utf8' basedir=/root/datasoft/mysql datadir=/root/datasoft/mysql/data socket=/root/datasoft/mysql/mysql.sock #开启ip绑定 #bind-address = 0.0.0.0 log_timestamps = SYSTEM open_files_limit=30000 max_connections=3000 #控制其通信缓冲区的最大长度 max_allowed_packet=256M #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写 lower_case_table_names = 1 #Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/root/datasoft/mysql/logs/mysqld.log pid-file=/root/datasoft/mysql/data/mysqld.pid [client] socket=/root/datasoft/mysql/mysql.sock #default-character-set=utf8 # include all files from the config directory !includedir /etc/my.cnf.d6)当我们把这些都配置好,就可以初始化mysql了,basedir为我们的mysql目录,datadir为我们创建的保存数据的目录。初始化后会打印出初始密码,如果忘记了可以清空datadir目录重新执行初始化。
[root@master mysql]# ./bin/mysqld --initialize --user=root --basedir=/root/datasoft/mysql/ --datadir=/root/datasoft/mysql/data/7)复制启动脚本到资源目录,并修改//etc/rc.d/init.d/mysqld文件
[root@master mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld [root@master mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@master mysql]# vim /etc/rc.d/init.d/mysqld ... basedir=/root/datasoft/mysql datadir=/root/datasoft/mysql/data ... if test -x $bindir/mysqld_safe then # Give extra arguments to mysqld with the my.cnf file. This script # may be overwritten at next upgrade. $bindir/mysqld_safe --user=root(在此处添加--user=root) --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null & wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$? ...8)在/etc/profile添加环境变量
[root@master mysql]# vim /etc/profile ... export MYSQL_HOME=/root/datasoft/mysql export PATH=$PATH:$MYSQL_HOME/bin ...9)启动并登陆mysql,密码就是初始化给的密码
[root@master mysql]# service mysqld start [root@master mysql]# mysql -uroot -p****** mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set password=password('123456') where user='root' and host='localhost'; mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;#允许远程连接 mysql> flush privileges;
版权声明:本文为weixin_43837034原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。