linux下mysql5.5 5.6 5.7安装教程
Mysql5.5源码安装
(因为云盘买有数据盘,所有把数据挂载在opt 下面的目录)
安装MySQL
1.添加mysql用户,创建mysql的数据目录:
groupadd mysql
mkdir -pv /opt/data/mysql
useradd -r -g mysql -d /opt/data/mysql -s /sbin/nologin mysql
chown -R mysql.mysql /opt/data/mysql
2.安装cmake及依赖:
yum install cmake gcc* ncurses-devel -y
3.下载MySQL安装包:
cd /usr/local/src
wget https://cdn.mysql.com//archives/mysql-5.5/mysql-5.5.49.tar.gz
4.编译安装MySQL:
tar -xvf mysql-5.5.49.tar.gz
cd mysql-5.5.49
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/product/mysql5.5.49 -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/opt/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
make && make install
ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql
5.拷贝mysql的配置文件:
cd /usr/local/mysql/support-files/
cp my-medium.cnf /opt/data/mysql/my.cnf
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
6.初始化MySQL:
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/opt/data/mysql/
7.修改MySQL配置文件my.cnf中数据目录(【mysqld】处添加)
vim /opt/data/mysql/my.cnf
加入下面这句数据库的路径
datadir=/opt/data/mysql/
8.启动MySQL:
[root@zabbix ~]# /etc/init.d/mysqld start Starting MySQL... SUCCESS!
9.把mysql加入系统服务项,并设置开机启动
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
10.检查mysql是否成功启动
ps aux |grep mysqld
11.##进入mysql
/usr/local/mysql/bin/mysql
查看mysql版本
select version();
12.创建一个hz2data数据库(分号不能漏)
use mysql
create database sdkdata;
13.创建一个mysql登录用户,用户名为:root 密码为@#$2017
grant all on sdkdata.* to 'david'@'localhost' identified by 'david6677';
grant all on sdkdata.* to 'root'@'localhost' identified by '@#$2017';
14.刷新权限
flush privileges;
15.允许远navicat远程连接
use mysql
显示已有的数据库
show databases;
允许任何IP远程连接数据库sdkdata。(只要设置允许mysql的远程连接,其它新建库,也会默认允许远程连接了)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'aaaa' WITH GRANT OPTION;
flush privileges;
mysql忘记root 密码
http://www.cnblogs.com/sbaicl/articles/3132010.html
##################################
mysql修改繁琐登录方式
默认的/usr/local/mysql/bin/mysql
1.vim ~/.bash_profile
2. 增加如下内容(在最后面加入如下)
export PATH=$PATH:/usr/local/mysql/bin
使其全系统生效
3 source ~/.bash_profile
这样设置完成后即可mysql -uroot -p 快捷的mysql登录
mysql5.6 二进制安装
1 cd /usr/local/src
下载二进制包
2 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解压包
3 tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
把mysql的数据 移动到/usr/local/mysql 目录下
4 mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
5 cd /usr/local/mysql
创建mysql 用户
6 useradd mysql
7创建mysql 数据存放路径
mkdir -p /opt/data/
8 初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/opt/data/mysql
9 移动系统默认配置文件到 /etc目录下
cp support-files/my-default.cnf /etc/my.cnf
10移动mysql启动文件mysql.server 到/etc/init.d目录下
cp support-files/mysql.server /etc/init.d/mysqld
11 vim /etc/init.d/mysqld
配置mysql的运行目录和数据存放目录,如图中绿色所示。
12
chkconfig --add mysqld
chkconfig mysqld on
13 启动mysql
/etc/init.d/mysqld start
(kill all mysqld 杀死mysqld进程)
14 登录mysql,设置允许远程连接
创建一个数据库
create database sdkdata
grant all on sdkdata.* to 'root'@'localhost' identified by '@#$2017';
15 允许任何ip远程连接到sdkdata这个数据库
grant all privileges on sdkdata.* to root@"%" identified by "@#$2017" ;
16刷新权限
flush privileges;
mysql5.7 二进制包安装
1. 下载包
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
2. 解压
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
3. 初始化
useradd -M -s /sbin/nologin mysql
mkdir -p /opt/data/mysql
chown mysql /opt/data/mysql
注意bin前面的 .为当前bin目录,不能少
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/opt/data/mysql
注意,这一步最后一行会有一个提示
[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg
最后面的字符串 B*s1i(*,kXwg 为root密码。
./bin/mysql_ssl_rsa_setup --datadir=/opt/data/mysql
4. 拷贝配置文件和启动脚本
cp support-files/my-default.cnf /etc/my.cnf
5.提示是否覆盖,输入yes
6 vim /etc/my.cnf 编辑或者修改
basedir = /usr/local/mysql
datadir = /opt/data/mysql
port = 3306
socket = /tmp/mysql.sock
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld //编辑或者修改
basedir=/usr/local/mysql
datadir=/opt/data/mysql
5. 启动服务
/etc/init.d/mysqld start
6. 设置root密码
使用初始化密码登录
/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg' //进入后直接设置密码
mysql>set password = password('mypass'); //一定要设置一下新密码
退出来,再使用新的密码登录就可以了
还有一种情况,就是不知道初始化密码
vi /etc/my.cnf
在[mysqld]下面增加一行
skip-grant-tables
重启 /etc/init.d/mysqld restart
/usr/local/mysql/bin/mysql -uroot
use mysql;
update user set authentication_string=PASSWORD('Kubi201788@#$') where User='root';
flush privileges;
退出来后,更改my.cnf,去掉刚加的 skip-grant-tables
重启 /etc/init.d/mysqld restart
此时就可以使用新的密码了。