centos7安装mysql

时间:2021-11-12 16:19:49

centos7安装mysql

1 查找系统是否安装了myql
rpm -q mysql mysql-server
1.1如果安装了。就删除
sudo yum -y remove mysql mysql-server
sudo rm -rf /etc/my.cnf

2 安装依赖
sudo yum install ncurses-devel -y
sudo yum install libaio-devel -y
sudo yum install bison -y
sudo yum install openssl-devel -y
sudo yum install gcc -y
sudo yum install gcc-c++
sudo yum install cmake -y
sudo yum install make -y

3安装Mysql
1 创建mysql用户及用户组
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql

说明
-M 强制不创建用户目录
-g指定用户组,
-s /sbin/nologin 设置mysql用户不能以用户身份登录
mysql是用户名

2 创建mysql的安装目录及数据库存放目录
sudo mkdir -p /usr/local/mysql
sudo mkdir -p /usr/local/mysql/data

3 解压
tar xf mysql-5.5.50.tar.gz

4 安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装位置
-DSYSCONFDIR=/etc \ 配置文件目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ 数据库位置
-DMYSQL_TCP_PORT=3306 \ MySQL监听端口-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 套接字文件
-DDEFAULT_CHARSET=utf8 \ 默认字符
-DDEFAULT_COLLATION=utf8_general_ci \ 字符集
-DENABLED_LOCAL_INFILE=1 \ 允许从本地导入数据
-DWITH_READLINE=1 \  //快捷键功能
-DWITH_SSL=system \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_EMBEDDED_SERVER=1 \ //编译成embedded MySQL library(libmysqld.a)
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ 安装innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1  \ 安装myisam存储引擎
-DINSTALL_MANDIR=/usr/share/man

等价于下面

sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_MANDIR=/usr/share/man -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EXTRA_CHARSETS=all -DWITH_EMBEDDED_SERVER=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1

如果cmake失败 要执行 rm CmakeCache.txt, make clean, 再重新cmake

执行,sudo make

5 执行 sudo make install

6 sudo chown -R mysql:mysql mysql/

7 初始化Mysql --user=mysql 表示以mysql用户
sudo ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

8
[c4t@localhost support-files]$ sudo cp my-huge.cnf /etc/my.cnf
[c4t@localhost support-files]$ sudo cp mysql.server /etc/init.d/mysqld
[c4t@localhost support-files]$ sudo chmod 755 /etc/init.d/mysqld
[c4t@localhost support-files]$ sudo chkconfig --add mysqld //添加到各个启动级别,可以不添加

设置开机自动运行
sudo chkconfig mysqld on
启动mysql
sudo service mysqld start
sudo service mysqld stop

【其他启动mysql方式:】
方式一:sudo /etc/init.d/mysqld start
方式二:sudo start mysqld
方式三:sudo service mysqld start
停止mysql:
方式一:sudo /etc/init.d/mysqld stop
方式二:sudo stop mysqld
方式三:sudo service mysqld stop
重启mysql:
方式一:sudo/etc/init.d/mysqld restart
方式二:sudo restart mysqld
方式三:sudo service mysqld restart

9 查看mysql状态 ps aux | grep mysql

10 登录mysql
[将mysql命令工具添加到path]
sudo echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

如果没设置密码 直接敲入 mysql 就登陆了,但是这样登录看不到mysql库
所以建议设置密码

[如果需要设置密码]
mysqladmin -uroot password 'root' 这个是密码

[远程登录]虚拟机选择桥接模式
授权账号远程连接,创建一个账号 帐号名是 user1 密码 123

grant all on *.* to user1@'%' identified by '123';
grant all on *.* to user2@'192.168.56.1' identified by '123';