下载MySQL
先去Oracle官网下载MySQL
,下载完成后,解压到/usr/local/src/mysql-5.6.43
目录下。
添加系统mysql组和mysql用户
执行命令:
groupadd mysql和useradd -r -g mysql mysql
安装数据库
进入安装mysql软件目录:
cd /usr/local/src/mysql-5.6.43
修改当前目录拥有者为mysql用户:
chown -R mysql:mysql ./
安装数据库:
./scripts/mysql_install_db --user=mysql
如果有如下提示:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db: Data::Dumper
解决方法是安装autoconf库,执行命令:
yum -y install autoconf
修改当前目录拥有者为root用户:
chown -R root:root ./
修改当前data目录拥有者为mysql用户:
chown -R mysql:mysql data
到此数据库安装完毕
启动mysql服务和添加开机启动mysql服务:
添加开机启动:
cp support-files/mysql.server /etc/init.d/mysql
把启动脚本放到开机初始化目录。
启动mysql服务:
service mysql start
1、如果出现问题:
/etc/init.d/mysql: line 244: my_print_defaults: command not found /etc/init.d/mysql: line 264: cd: /usr/local/mysql: No such file or directory Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
该问题表示,
support-files/mysql.server
文件中的mysql
的安装目录跟实际的安装目录不符,需要修改该文件。vim support-files/mysql.server
修改66到73行内容
if test -z "$basedir" then basedir=/usr/local/src/mysql-5.6.43 bindir=/usr/local/src/mysql-5.6.43/bin if test -z "$datadir" then datadir=/usr/local/src/mysql-5.6.43/data fi sbindir=/usr/local/src/mysql-5.6.43/bin libexecdir=/usr/local/src/mysql-5.6.43/bin
然后启动服务
2、如果出现如下问题Starting MySQL.190130 14:29:55 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
表示当前用户
mysql
没有该文件/var/log/mariadb/mariadb.log
的访问权限,且该文件不存在,则新建该文件,并设置权限。命令如下:mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb
然后启动服务。应该没问题了。
启动成功后提示:
Starting MySQL.. SUCCESS!
校验是否启动成功
ps -ef | grep mysql
修改mysql的root用户密码,root初始密码为空的
./bin/mysqladmin -u root password '密码'
可能会有如下错误
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
然后看一下
/etc/my.cnf
(这是mysqld
自己创建的)
socket=/var/lib/mysql/mysql.sock
socket
建立在/var
下,那就执行命令ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
此时可以看到
/tmp/
目录下的mysql.sock
指向的连接是/var/lib/mysql/mysql.sock
,如下:
mysql.sock -> /var/lib/mysql/mysql.sock
再执行修改命令就OK了
把mysql客户端放到默认路径:
ln -s /usr/local/src/mysql-5.6.43/bin/mysql /usr/local/bin/mysql
登录
进入到/usr/local/bin/mysql
目录(当然,也可以在安装目录执行命令登录),登录
./mysql -uroot -p
输入密码,登录成功。
连接数据库
连接数据库提示
错误:ERROR 1130: Host '192.168.1.1' is not allowed to connect to thisMySQL serve
表明当前用户不支持远程连接,需要修改权限。修改方法如下:
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重新连接,发现连接成功。
参考:
Linux下安装mysql
linux 下安装mysql 提示please install the following Perl modules before executing ./scripts/mysql_install_
mysql5.7安装遇到的问题总结,持续更新
mysql初次探索
MySQL 1130错误,无法远程连接
5.7以上安装方式有所改变
完整简洁版可以参考:
linux上安装mysql5.7
MySQL5.7.21在Linux下安装教程
[ERROR] Could not create unix socket lock file /var/run/mysql/mysql.sock.lock