Linux下安装mysql

下载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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值