Linxu系统:centos 7(最小安装)
mysql版本:mysql 5.6
1、更新yum
yum update -y
2、安装开发环境
yum groupinstall "Development Tools"
3、安装依赖包
yum install -y ncurses-devel openssl-devel openssl cmake.x86_64
4、创建普通用户
useradd soft
passwd soft
5、下载mysql
su soft
1)官网下载再上传至服务器
2)在服务端 wget
tar -xvf mysql-5.6.25.tar.gz
cd mysql-5.6.25
6、编译安装mysql
查看/etc下是否存在my.cnf文件,如果存在可将其备份 mv /etc/my.cnf /etc/my.cnf.bak,mysql默认会先读取/etc下的my.cnf,如果找不到my.cnf,再去读取安装路径下的my.cnf。
cmake . \
-DCMAKE_INSTALL_PREFIX=/home/soft/apps/mysql \
-DMYSQL_UNIX_ADDR=/home/soft/apps/mysql/mysql_3306.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/home/soft/apps/mysql/data \
-DMYSQL_USER=soft \
-DMYSQL_TCP_PORT=3306 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=0
make && make install
等待安装完成
7、配置mysql
cp /home/soft/apps/mysql/support-files/my-default.cnf /home/soft/apps/mysql/my.cnf
vi /home/soft/apps/mysql/my.cnf
在[mysqld]下添加
basedir = /home/soft/apps/mysql/
datadir = /home/soft/apps/mysql/data/
# 不区分大小写
lower_case_table_names=1
max_allowed_packet = 500M
max_connections=5000
在[log-bin=mysql-bin]下面添加 防止磁盘被无限制占用
max_binlog_size=100M
expire_logs_days=7
8、创建系统数据库的表--指定了配置文件和用户
scripts/mysql_install_db --defaults-file=./my.cnf --user=soft
9、启动mysql
cd /home/soft/apps/mysql/bin
./mysqld_safe &
10、登录数据库、修改密码、开启远程连接 #进入mysql命令行模式 修改Mysql的root用户密码以及打开远程连接
./mysql -u root –p//无密码,直接回车即可
use mysql;
grant all privileges on *.* to root@"%" identified by "root";
update user set Password = password('123456') where User='root';
flush privileges;
exit;
//关闭防火墙后 可以进行远程连接
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #禁用防火墙
11、设置开机自启
cp /home/soft/apps/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
12、新建用户授权
linux登陆mysql后
# localhost 可被访问的ip %代表全部ip 除了localhost
insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
# all privileges 可被替换成 select,update,insert,drop,create,delete具体的权限
# testDB 授权的数据库 全部数据库可用*代替
grant all privileges on testDB.* to test@localhost;
flush privileges;
# 取消用户所有数据库(表)的所有权限
revoke all on *.* from tester;
# 删除用户
delete from mysql.user where user='tester';