linux 自动安装mysql_Linux安装mysql

第一步:下载mysql

cd /usr/local/src

下载包:

wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

(或直接从window上传)

解压:

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

移动到/usr/local :

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

进到/usr/local/目录下:

cd /usr/local

改名为mysql:

mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

然后去到mysql/support-files目录下:

cd mysql/support-files

第二步:修改参数

1、复制my.cnf 到 /etc/my.cnf (mysqld启动时自动读取)

cp my-default.cnf /etc/my.cnf

注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。

2、配置数据库编码

vi /etc/my.cnf

在这份文件中可以添加以下配置信息(如果有修改即可)

[mysql]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character_set_server=utf8

3、复制mysql.server 到/etc/init.d/  目录下【目的想实现开机自动执行效果】

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

(mysql是服务名)

4、修改 /etc/init.d/mysql 参数

vi /etc/init.d/mysql

给与2个目录位置

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

第三步:创建 mysql 用户 (可跳过)

出于安全便利,创建一个操作数据库的专门用户

1)、建立一个mysql的组

groupadd mysql

2)、建立mysql用户,并且把用户放到mysql组

useradd -r -g mysql mysql

3)、给mysql用户设置一个密码

passwd mysql

4)、给目录/usr/local/mysql 更改拥有者

chown -R mysql:mysql /usr/local/mysql/

附:永久性删除用户账号

userdel peter

groupdel peter

usermod –G peter peter

(强制删除该用户的主目录和主目录下的所有文件和子目录)

第四步:初始化 mysql 的数据库

首先去到mysql的bin目录

cd /usr/local/mysql/bin

1.初始化

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一个data目录,代表数据库已经初始化成功

并且mysql的root用户生成一个临时密码:sBBe=g.a*3g+ (最好先记录这个临时密码)

2.给数据库加密

./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3.启动mysql(为了不让进程卡主,可在启动mysql的命令后加上&代表此进程在后台运行)

./mysqld_safe --user=mysql &

或者

/usr/local/mysql/support-files/mysql.server start

问题:

19d751e51a9301083c2f2ebb1dcf07bc.png

2e100a06a626a951bd89cb269b00d5a6.png

修复:

mkdir /var/run/mariadb/

chown -R mysql:mysql /var/run/mariadb/

有时建了文件夹和文件后,还是会报错,可以尝试删掉etc/my.cnf文件

4.检查

ps -ef|grep mysql

a08a7cacf6f5ad6f53f02f4a2cf8e607.png

发现有以上进程便代表启动成功。

第五步:进入客户端

首先去到mysql的bin目录

cd /usr/local/mysql/bin

1.登录

./mysql -uroot -p

回车后输入之前的临时密码

错误1:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

0a33a925256e3a49165ed549489328ab.png

这个看应该是权限问题,增加权限配置,

mkdir /var/log/mariadb/;

touch /var/log/mariadb/mariadb.log;

chown -R mysql:mysql /var/log/mariadb/

错误2:mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.

efeef015a5b9cf07d398ccf566f1016f.png

var/lib/mysql目录不存在,首要先创建,其次Mysql客户端和服务器端是通过初始化mysql.sock 文件来进行通信,所以服务器在启动时需要写入该文件,因此该文件所存放的目录必须双方都具有访问权限

mkdir /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql/ 或者 chmod 777  /var/lib/mysql

在默认情况下,Mysql安装以后会在/tmp目录下生成一个mysql.sock文件,如该文件丢失则Mysql将不能够正常启动,解决方法:使用mysqld_safe 启动即可解决;

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

错误3:Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory)

分析/var/log/mariadb/mariadb.log日志, Can't create/write to file '/var/run/mariadb/mariadb.pid' (Errcode: 2 - No such file or directory),同样的处理方式

mkdir /var/run/mariadb/

chown -R mysql:mysql /var/run/mariadb/

2.修改密码

set password=password

或者

首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;

1 service mysql stop

然后执行

1 mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。

接着登陆MySQL修改密码

1 mysql

2 mysql> use mysql;

3 mysql> UPDATE user SET password=password("test123") WHERE user='root';

4 mysql> exit;

注意:如果Mysql的版本是5.7及以上的话update语句如下:

1 mysql> update user set authentication_string=passworD("test") where user='root';

第六步:设置远程访问

1,在远程访问之前需先配置防火墙  systemctl stop firewalld.service(不推荐,可配置开通3306端口)

2,授权

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root的密码' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

mysql>select host,user from user; 【多出1条远程登录用户记录】

mysql>flush privileges;(刷新)

或者

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

mysql>Flush Privileges;

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

a6cb4bbfb6bba5a047b9b572807d342c.png

安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个

解决方式如下:

MySQL版本5.7.6版本以前用户可以使用如下命令:

mysql> SET PASSWORD = PASSWORD('Xiaoming250');

MySQL版本5.7.6版本开始的用户可以使用如下命令:

mysql> ALTER USER USER() IDENTIFIED BY 'Xiaoming250';

如果不清楚自己是什么版本,可以将两条都尝试一下。

此时使用远程机器进行访问

17709be83686e8d167e243263efb0d6c.png

解析:使用mysql -h主机ip -u用户名 -p密码即可进行远程访问

第七步:设置开机自启动

1、添加服务mysql

chkconfig --add mysql 或者【mysqld -install】

2、设置mysql服务为自动

chkconfig mysql on

3、重启查看进程

init 6

ps -ef|grep mysql

第八步:配置环境变量

为了方便操作,配置环境变量还是有必要的。

vi /etc/profile

//export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

export PATH=$PATH:/bin:/usr/local/mysql/bin

小结:到这一步基本的配置基本就完成了。

安装包:mysql安装链接:http://pan.baidu.com/s/1pL7bFab 密码:5iz7

参考:http://www.cnblogs.com/1016882435AIDA/p/6265759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值