linux版本的mysql安装

linux版本的mysql安装

一 . 二进制 rpm包安装

yum -y install mysql-server mysql

二. 源码安装

2.1 解压 tar 包

cd /software
tar -xzvf mysql-5.6.47-linux-gibc2.5-x86_64.tar.gz
mv mysql-5.6.47-linux-gibc2.5-x86_64 mysql-5.6.47

2.2 添加用户与组

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.47

2.3 安装数据库

su mysql
cd mysql-5.6.47/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.47 --datadir=/software/mysql-5.6.47/data

2.4 配置文件

cd /software/mysql-5.6.47/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql   #若mysql的安装目录是/usr/local/mysql,则可省略此步
-- 修改文件中的两个变更值
basedir=/software/mysql-5.6.47
datadir=/software/mysql-5.6.47/data

2.5 配置环境变量

vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.47"
export PATH="$PATH:$MYSQL_HOME/bin"
source /etc/profile

2.6 添加自启动服务

chkconfig --add mysql
chkconfig mysql on

2.8 启动mysql

service mysql start

2.8 登录mysql及改密码与配置远程访问

mysqladmin -u root password 'your_password'     #修改root用户密码
mysql -u root -p     #登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允许root用户远程访问
mysql>FLUSH PRIVILEGES;     #刷新权限

三. 源码安装mariadb

3.1 解压

tar zxvf  mariadb-5.5.31-linux-x86_64.tar.gz   
mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需这样,很多脚本或可执行程序都会直接访问这个目录

3.2 权限

groupadd mysql             //增加 mysql 属组 
useradd -g mysql mysql     //增加 mysql 用户 并归于mysql 属组 
chown mysql:mysql -Rf  /usr/local/mysql    // 设置 mysql 目录的用户及用户组归属。 
chmod +x -Rf /usr/local/mysql    //赐予可执行权限 

3.3 拷贝配置文件

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //复制默认mysql配置 文件到/etc目录 

3.4 初始化

/usr/local/mysql/scripts/mysql_install_db --user=mysql          //初始化数据库 
cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql    //复制mysql服务程序 到系统目录 
chkconfig  mysql on     //添加mysql 至系统服务并设置为开机启动 
service  mysql  start  //启动mysql

3.5 环境变量配置

vim /etc/profile   //编辑profile,将mysql的可执行路径加入系统PATH
export PATH=/usr/local/mysql/bin:$PATH 
source /etc/profile  //使PATH生效。

3.6 账号密码

mysqladmin -u root password 'yourpassword' //设定root账号及密码
mysql -u root -p  //使用root用户登录mysql
use mysql  //切换至mysql数据库。
select user,host,password from user; //查看系统权限
drop user ''@'localhost'; //删除不安全的账户
drop user root@'::1';
drop user root@127.0.0.1;
select user,host,password from user; //再次查看系统权限,确保不安全的账户均被删除。
flush privileges;  //刷新权限

3.7 一些必要的初始配置

# 1)修改字符集为UTF8
vi /etc/my.cnf
在[client]下面添加 default-character-set = utf8
在[mysqld]下面添加 character_set_server = utf8
# 2)增加错误日志
vi /etc/my.cnf
# 在[mysqld]下面添加:
log-error = /usr/local/mysql/log/error.log
general-log-file = /usr/local/mysql/log/mysql.log
# 3) 设置为不区分大小写,linux下默认会区分大小写。
vi /etc/my.cnf
# 在[mysqld]下面添加:
lower_case_table_name=1

# 修改完重启:
service  mysql  restart

四. 忘记密码

方法1: 删除授权库mysql,重新初始化

rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
systemctl restart mariadb
mysql

方法2: 启动时,跳过授权库

[root@egon ~]# vim /etc/my.cnf    #mysql主配置文件
[mysqld]
skip-grant-table
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql
MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> q
[root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql -u root -p123 #以新密码登录

原文地址:https://www.cnblogs.com/jkeykey/p/14457346.html