首页 > 技术文章 > linux 安装mysql

yyou 2017-06-05 21:50 原文

查看

rpm -qa|grep mysql
或者
rpm -qa | grep -i mysql

 

如果有就卸载

rpm -e mysql-libs --nodeps
或者
yum remove mysql*

rpm -ev MySQL-devel-5.6.23-1.linux_glibc2.5

命令卸载mysql及相关组件

 

上传

MySQL-client-5.6.35-1.el6.x86_64.rpm

MySQL-devel-5.6.35-1.el6.x86_64.rpm

MySQL-server-5.6.35-1.el6.x86_64.rpm

 

安装

# rpm -ivh MySQL-server-5.6.35-1.rhel5.x86_64.rpm
# rpm -ivh MySQL-devel-5.6.35-1.rhel5.x86_64.rpm

# rpm -ivh MySQL-client-5.6.35-1.rhel5.x86_64.rpm

如果出现警告就加上 --force --nodeps
rpm -ivh mysql-server-5.5.46-1.linux2.6.x86_64.rpm --force --nodeps #修改配置文件位置 # cp /usr/share/mysql/my-default.cnf /etc/my.cnf

直接修改密码为空

[mysqld]

skip-grant-tables

 

启动服务:#service mysql start


登录:#mysql -uroot -p     //安装mysql client 才会有

 

找到mysql初始随机密码 : #more /root/.mysql_secret

 

 

 

 

 

 

 

修改密码1

#1.停止mysql数据库
/etc/init.d/mysqld stop
 
#2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
 
#3.使用root登录mysql数据库
mysql -u root mysql
 
#4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
 
#5.刷新权限 
mysql> FLUSH PRIVILEGES;
 
#6.退出mysql
mysql> quit
 
#7.重启mysql
/etc/init.d/mysqld restart
 
#8.使用root用户重新登录mysql
mysql -uroot -p 
Enter password: <输入新设的密码newpassword>

 

修改mysql密码2

方法一:
在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】

方法二:
通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("123456") where user='root';
mysql> flush privileges;
mysql> exit;   

再次设置一次
mysql>  SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)

  MySQL> create database roger;

         Query OK, 1 row affected (0.00 sec)

 

-----------------------------------------以下参考着修改-----------------------------------------------------

忘记密码

忘记原来的myql的root的密码;

首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysqld status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';   
mysql> flush privileges;
mysql> exit;                         
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

 

 修改配置文件字符集

1:在[mysqld]上面加入下面两句话
  1. [client]    
  2. default-character-set=utf8  
在[mysqld]最下面加入下面几句话
  1. default-storage-engine=INNODB    
  2. character-set-server=utf8   
  3. collation-server=utf8_general_ci


2:#vi /etc/my.cnf 修改如下:(红色为添加部分) [client] #password = your_password port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 (经过验证好像这一步不用设置也可以达到效果) [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock skip-locking key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M default-character-set=utf8 init_connect='SET NAMES utf8' [mysql] no-auto-rehash default-character-set=utf8 保存退出;

 

  

如果有包冲突

#yum -y remove mysql-libs-5.1*

是否正常启动

# 1、 端口是否打开
[root@aiezu.com ~]# lsof -i:3306
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  12207 mysql   14u  IPv4  52350      0t0  TCP *:mysql (LISTEN)
 
# 2、mysqld服务是否正在运行
[root@aiezu.com ~]# service mysqld status
mysqld (pid  4717) is running...

 查看进程

查看进程:ps -ef|grep mysqld
干掉进程:kill -9 进程号 

 

 

 初始化MySQL及设置密码

# /usr/bin/mysql_install_db

# service mysql start

# cat /root/.mysql_secret  #查看root账号密码

# The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl

# mysql -uroot –pqKTaFZnl

mysql> SET PASSWORD = PASSWORD('123456');    #设置密码为123456

mysql> exit

# mysql -uroot -p123456

 

允许远程登陆

mysql> use mysql;

mysql> select host,user,password from user;

+-----------------------+------+-------------------------------------------+
| host                  | user | password                                  |

+-----------------------+------+-------------------------------------------+

| localhost             | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

| 127.0.0.1             | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

| ::1                   | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

+-----------------------+------+-------------------------------------------+
mysql> update user set password=password('123456') where user='root';

mysql> update user set host='%' where user='root' and host='localhost';

mysql> flush privileges;

mysql> exit

 

设置开机自启动

# chkconfig mysql on

# chkconfig --list | grep mysql

mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

MySQL的默认安装位置

/var/lib/mysql/               #数据库目录

/usr/share/mysql              #配置文件目录

/usr/bin                     #相关命令目录

/etc/init.d/mysql              #启动脚本

  

修改字符集和数据存储路径

配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.

client]  
password        = 123456  
port            = 3306  
default-character-set=utf8  
[mysqld]  
port            = 3306  
character_set_server=utf8  
character_set_client=utf8  
collation-server=utf8_general_ci  
#(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)  
lower_case_table_names=1  
#(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )  
max_connections=1000  
[mysql]  
default-character-set = utf8  

 

  

查看字符集

show variables like '%collation%';

show variables like '%char%';

 

 

启动服务就是启动mysql 和 service mysql start一样
rpm 安装会自动配置service mysql start
 
/etc/init.d/mysql start 

停止服务 #
/etc/init.d/mysql stop

 

  

  

  

  

推荐阅读