debian 安装MySQL

官方文档部署MySQL 5.7

将mysql二进制包移动到/usr/local目录下

显示目录颜色

[root@ceshiji ~]# apt-get install lrzsz
[root@ceshiji /]# tail /etc/profile ###显示目录颜色
export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

MySQL安装包

[root@mysql-193 local]# ll -h mysql-5.7.17-linux-glibc2.5-x86_64.tar 
-rw-r--r-- 1 zhangya zhangya 652M 6月  27 23:19 mysql-5.7.17-linux-glibc2.5-x86_64.tar

MySQL源码包下载


链接:http://pan.baidu.com/s/1i5Fvnal 密码:zkwz


解压

[root@ceshiji local]# tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar

安装依赖

[root@mysql-193 local]# apt-cache search libaio #查找依赖包信息
[root@mysql-193 local]# apt-get install libaio1 # install library  #安装依赖包

添加mysql组

[root@mysql-193 local]# groupadd mysql

添加mysql用户并且禁止登录

[root@mysql-193 local]# useradd -r -g mysql -s /bin/false mysql

创建数据库目录

[root@mysql-193 mysql]# mkdir -p /data/mysql_data

解压mysql安装包

[root@mysql-193 local]# cd /usr/local
root@ceshiji local]# tar vxf mysql-5.7.17-linux-glibc2.5-x86_64.tar
[root@ceshiji local]# rm mysql-5.7.17-linux-glibc2.5-x86_64.tar mysql-test-5.7.17-linux-glibc2.5-x86_64.tar.gz
[root@mysql-193 local]# tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

创建软链接

[root@mysql-193 local]# ln -s /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64 mysql

查看创建结果

[root@mysql-193 local]# ll mysql
lrwxrwxrwx 1 root staff 45 6月  27 23:58 mysql -> /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64

修改mysql目录的权限以及所属用户及组属性相关(官网)

[root@mysql-193 local]# cd mysql
[root@mysql-193 mysql]# mkdir mysql-files
[root@mysql-193 mysql]# chmod 750 mysql-files
[root@mysql-193 mysql]# chown -R mysql .    ##只修改文件属主
[root@mysql-193 mysql]# chgrp -R mysql .        #修改文件属组

初始化数据库

#注意! 5.7版本以后的初始化命令和5.6有区别
#使用老命令初始化的报错内容如
[root@mysql-193 mysql]# bin/mysql_install_db --user=mysql 
2017-06-28 00:10:11 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-06-28 00:10:11 [ERROR]   The data directory needs to be specified.

#使用新的初始化命令
[root@mysql-193 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data

注意, 这里最后一行最后面会提示一个字符串,这个是mysql5.7以后的安全策略,会生成一个root的随机密码

......
2017-06-27T16:14:05.150862Z 1 [Note] A temporary password is generated for root@localhost: 1Diwj2r(pN-k

把目录所属者权限修改回root

[root@mysql-193 mysql]# chown -R root .

修改数据库目录的所属者为mysql

[root@mysql-193 mysql]# chown -R mysql /data/
[root@mysql-193 mysql]# ll /data/
drwxr-xr-x 5 mysql mysql 4096 6月  28 00:14 mysql_data

拷贝复制配置文件到/etc/my.cnf

 [root@mysql-193 mysql]# grep -v "^#" support-files/my-default.cnf >/data/mysql_data/my.cnf

修改配置文件

[root@mysql-193 mysql]# vim /data/mysql_data/my.cnf
[root@mysql-193 mysql]# cat /data/mysql_data/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql_data
port = 3306  
socket = /tmp/mysql.sock  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

启动mysql服务

[root@mysql-193 mysql]# bin/mysqld_safe --defaults-file=/data/mysql_data/my.cnf --user=mysql --pid-file=/data/mysql_data/mysqld_safe.pid --log-error=/data/mysql_data/mysql.err.log &

查看进程

[root@mysql-193 ~]# ps -ef|grep mysqld
root       3113    775  0 00:59 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql_data/my.cnf --user=mysql --pid-file=/data/mysql_data/mysqld_safe.pid --log-error=/data/mysql_data/mysql.err.log
mysql      3287   3113  0 00:59 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql_data/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql_data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql_data/mysql.err.log --pid-file=/data/mysql_data/mysqld_safe.pid --socket=/tmp/mysql.sock --port=3306
root       3333   1275  0 01:00 pts/1    00:00:00 grep mysqld

将mysql命令加入环境变量

[root@mysql-193 ~]# tail -2 /etc/profile
 PATH=$PATH:/usr/local/mysql:/usr/local/mysql/bin
[root@mysql-193 ~]# source /etc/profile

再次输入mysql发现已经可以补全了

[root@mysql-193 ~]# mysql

登录数据库

[root@mysql-193 ~]# mysql -uroot -p'1Diwj2r(pN-k'

这时使用命令会提示需要修改密码,所以这里修改数据库默认密码

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'goumin123';
Query OK, 0 rows affected (0.00 sec)
mysql>exit 

使用新密码登录

[root@mysql-193 ~]# mysql -uroot -p'goumin123'
mysql>

脚本文件一键安装

[root@ceshiji ~]# cat 101.sh 

#下载依赖包
apt-get install libaio1
apt-get install lrzsz

#添加mysql用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

#创建mysql数据目录
mkdir -p /data/mysql_data

#解压mysqltar包
cd /usr/local
tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar
rm -f mysql-5.7.17-linux-glibc2.5-x86_64.tar mysql-test-5.7.17-linux-glibc2.5-x86_64.tar.gz
tar zxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

#创建软连接
ln -s /usr/local/mysql-5.7.17-linux-glibc2.5-x86_64 mysql

#修改mysql目录权限和创建文件
cd /usr/local
cd mysql
mkdir mysql-files
chmod 750 mysql-files
chown -R mysql:mysql .

#初始化mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_data >/tmp/mima.txt 2>&1

#修改mysql软件目录权限
chown -R root.staff /usr/local/mysql

#修改mysql数据目录权限
chown -R mysql.mysql /data/

#拷贝配置文件
cd /usr/local
cd mysql
grep -v "^#" support-files/my-default.cnf >/data/mysql_data/my.cnf

#修改配置文件
cat>/data/mysql_data/my.cnf<<EOF
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql_data
port = 3306  
socket = /tmp/mysql.sock  
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF


#将mysql命令加入环境变量
echo 'PATH=$PATH:/usr/local/mysql:/usr/local/mysql/bin' >> /etc/profile

#启动mysql服务
bin/mysqld_safe --defaults-file=/data/mysql_data/my.cnf --user=mysql --pid-file=/data/mysql_data/mysqld_safe.pid --log-error=/data/mysql_data/mysql.err.log & 

执行步骤

1. 将mysql安装包放到/usr/local中

2. 执行安装启动脚本

3. 执行source生效全局环境变量命令

4. 进入/tmp目录查看密码

5. 执行命令修改密码

mysql -uroot -pPASSWORD --connect-expired-password -e "alter user 'root'@'localhost' identified by 'goumin123';"

6. 登录数据库验证

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值