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 #以新密码登录