设为首页 收藏本站
查看: 765|回复: 0

[经验分享] mysql数据库安装及基本配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-30 08:43:08 | 显示全部楼层 |阅读模式
一、mysql安装
1
yum install -y mysql mysql-server mysql-devel



二、mysql初始化

  rpm包安装的mysql第一次启动就会自动初始化   #建立一些相关文件,建立一些mysql初始数据库,提                                               示mysql 默认管理员用户root设置密码,默认没有                                                密码
三、启动mysql  
1
service mysqld start



设置mysql默认管理员用户root设置密码  默认没有密码  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysqladmin -u root password '1234567'    #第一次root没有密码

四、修改mysql用户密码

a. mysqladmin命令(要退出mysql 回到linux中)
    格式如下(其中,USER为用户名,PASSWORD为新密码):
    mysqladmin -u USER -p password PASSWORD
    该命令之后会提示输入原密码,输入正确后即可修改。
    例如,设置root用户的密码为123456,则
    mysqladmin -u root -p password 123456
b. UPDATE user 语句(回目录)
   这种方式必须是先用root帐户登入mysql,然后执行:
   UPDATE user SET password=PASSWORD('123456') WHERE user='root';
   FLUSH PRIVILEGES;
c.  SET PASSWORD 语句(回目录)
   这种方式也需要先用root命令登入mysql,然后执行:
   SET PASSWORD FOR root=PASSWORD('123456');



linux下mysql的root密码忘记解决方
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]


六、登录mysql服务器
   如果root没有设密码就可以直接用mysql就登录了本地的Mysql服务器
   mysql -u root -p
   或者mysql -u root -p1234567
   或者mysql -u root -p 1234567
   或者mysql -uroot -p1234567
   mysql -h 192.168.100.10 -u root -p     # -h 指定登录的远程mysql服务器 不指定就是默认登录                                             本机的mysql服务器
   mysql -P 3308 192.168.100.10 -u root -p     # -P(大写)指定mysql服务器的端口,默认的3306                                                  就可以不写,改了端口后在本机上登录还是可以                                                  不用写
   mysql -P 3308 192.168.100.10 -D xxj -u root -p    # -D 指定登录mysql服务器后指定所连的数                                                        据库是xxj
a. 通过函数database()实现
    mysql> SELECT database();
b. 通过show tables实现
    mysql> show tables;
    注:注意查看列头形式, 格式为:Tables_in_[db_name]
c. 通过status实现
    mysql> status;
    注:注意结果中的"Current database"信息
查看数据库的版本  SELECT VERSION();

2、允许mysql远程访问,可以使用以下三种方式:
a、改表。
1
2
3
4
mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;



b、授权。
例如,你想root使用123456从任何主机连接到mysql服务器。
1
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;



如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码
1
2
mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES



c:在安装mysql的机器上运行:    #这里不知道是不是一定要到Mysql服务器本机上去操作,好像SSH远程登录                                                            上去改没有用

1
2
3
4
5
6
7
8
//进入MySQL服务器
d:\mysql\bin\>mysql -h localhost -u root
//赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//使修改生效
mysql>FLUSH PRIVILEGES
//退出MySQL服务器
mysql>EXIT





1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接,
mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain"

2. mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;
此时,mysql server则认为该client是来自"localhost"

3. mysql权限管理中的"localhost"有特定含义:
—— MySQL手册 5.6.4 ..... A Host value may be a hostname or an IP number, or 'localhost' to indicate the local host.



七、 mysql相关文件
    /etc/my.cnf #mysql配置文件  
    /var/lib/mysql/ #mysql默认数据存放目录
    /var/log/mysqld.log #mysql默认日志文件
    默认使用3306端口
1
2
3
4
5
6
7
8
9
10
11
[iyunv@bogon ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql   #定义mysql数据存放目录,
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@bogon ~]# ls /var/lib/mysql/
ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test
mysql> show databases;
+--------------------+
| Database           |   #默认有这3个数据库
+--------------------+
| information_schema |  
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
mysql> CREATE DATABASE xxj;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW DATABASE;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that     corresponds to your MySQL server version for the ri



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ght syntax to use near 'DATAB    ASE' at line 1
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| xxj                |
+--------------------+
4 rows in set (0.00 sec)
mysql> Ctrl-C -- exit!
Aborted
[iyunv@bogon ~]# ls /var/lib/mysql/
ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test  xxj  #可以看到创建的数据库都存放在这个目录下
[iyunv@bogon ~]# ls /var/lib/mysql/xxj/
db.opt



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92046-1-1.html 上篇帖子: myslq-5.6基于GTID的主从复制实现 下篇帖子: 安装MySQL Enterprise Monitor 数据库安装 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表