MYsql安装、设定远程登录、data目录迁移

MYsql安装

  • 安装mysql前需要查询系统中含有的有关mysql的软件
rpm -qa | grep -i mysql  //grep -i是不分大小写字符查询,只要含有mysql就显示

用下面这两个包


image.png

需要下载2个内容,一个是MySQL-5.6.21-1.el6.i686.rpm-bundle.tar,这个是几个程序的合集包,另一个是MySQL-shared-compat-5.6.21-1.el6.i686.rpm,这个是软件包包括MySQL 3.23和MySQL 4.0的共享库。如果你安装了应用程序动态连接MySQL 3.23,但是你想要升级到ySQL 4.0而不想打破库的从属关系,则安装该软件包而不要安装MySQL-shared。从MySQL 4.0.13起包含该安装软件包。

  • 将2个文件上传到redhat中,解压MySQL-5.6.21-1.el6.i686.rpm-bundle.tar。
    tar xvf MySQL-5.6.21-1.el6.i686.rpm-bundle.tar
    image.png
  • 安装MySQL-shared-compat替换mysql-libs,如果不替换,在删除mysql-libs,会提示postfix依赖于mysql-libs:
rpm -i MySQL-shared-compat-5.6.21-1.el6.i686.rpm
rpm -qa | grep -i mysql  #如果有mysql-libs直接删
#mysql-libs-5.1.71-1.el6.i686
#MySQL-shared-compat-5.6.21-1.el6.i686
yum remove mysql-libs
  • 测试MySQL-server安装,提示需要安装perl:
 rpm -ivh --test MySQL-server-5.6.21-1.el6.i686.rpm
 yum install perl #如果你没有perl的话需要安装这个
  • 安装MySQL-server,MySQL-client:
rpm -ivh  MySQL-server-5.6.21-1.el6.i686.rpm

Preparing...                ########################################### [100%]
   1:MySQL-server           ########################################### [100%]
………………
………………
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.
Also, the account for the anonymous user has been removed.
In addition, you can run:
  /usr/bin/mysql_secure_installation
………………
………………
# rpm -ivh  MySQL-client-5.6.21-1.el6.i686.rpm
Preparing...                ########################################### [100%]
   1:MySQL-client           ########################################### [100%]

下面这一段如果上面没有弹这一堆说密码的内容,就说明他默认给了你空密码直接登录就行,如果出现了的话,大意是全新安装设置的root密码在/root/.mysql_secret中,这是一个随机密码,你需要运行/usr/bin/mysql_secure_installation,删除anonymous用户。当然不建议用root用户来运行,rpm包已经建了一个mysql用户,可以使用这个用户:

more .mysql_secret
# The random password set for the root user at Tue Nov 18 22:57:46 2014 (local t
ime): NljqL63OYlGo5cqy    <– 得到root访问mysql的密码:NljqL63OYlGo5cqy
service mysql start
#Starting MySQL... SUCCESS! 
 /usr/bin/mysql_secure_installation --user=mysql
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):    <–使用刚才得到的root的密码 NljqL63OYlGo5cqy
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y   <– 是否更换root用户密码,输入y并回车,强烈建议更换
New password:      <– 设置root用户的密码
Re-enter new password:    <– 再输入一次你设置的密码
Password updated successfully!
Reloading privilege tables..
 ... Success!
##如果没有上面那段提示一堆密码内容的话,直接登录进去/usr/bin/mysql_secure_installation --user=mysql
就能修改密码,改成你想要的,然后下面继续


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y   <– 是否删除匿名用户,生产环境建议删除,所以输入y并回车
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y    <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y    <– 是否删除test数据库,输入y并回车
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y   是否重新加载权限表,输入y并回车
 ... Success!




All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


Cleaning up...
  • 至此,MySQL已经安装完成,最后看一下是否已将MySQL加到开机服务里:
#  chkconfig
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
blk-availability        0:off   1:on    2:on    3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
multipathd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off   <-看到这个OK了
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

数据库安装好以后修改远程登录状态

mysql>use mysql;
mysql> select host from user where user = 'root';
+-----------+
| host      |
+-----------+
| 127.0.0.1 |
| localhost |
+-----------+
2 rows in set (0.00 sec)
  • 出现情况如上图
    Root用户host值是上图两个,都是本地,要修改为%
mysql>select host from user where user = 'root';
+-----------+
| host      |
+-----------+
| %         |
| 127.0.0.1 |
+-----------+
2 rows in set (0.00 sec)
mysql>flush privileges;      ##让改动生效
mysql> quit

data目录迁移

默认mysql是安装在/var/lib/mysql目录下,但是一般只有15G空间,令人至疯,所以装完必须迁移

1、home目录下建立data目录

cd /homemkdir data

2、把MySQL服务进程停掉:

mysqladmin -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi  my.cnf
(用vi工具编辑my.cnf文件,找到下列数据修改之)# The MySQL server[mysqld]  port = 3306#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)socket  = /home/data/mysql/mysql.sock (加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql

最后,需要修改MySQL启动脚本/etc/init.d/mysqld,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/init.d/mysql#datadir=/var/lib/mysql(注释此行)datadir=/home/data/mysql (加上此行)

如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;

最后 做一个mysql.sock 链接:
in -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

7、重新启动MySQL服务
/etc/init.d/mysql start或者service mysql restart

8、修改整个目录权限
chown -R mysql:mysql /home/data/mysql/
chmod -R 777 /home/data/mysql/*

无密码登录问题

  • 如果环境出现登录时候报错
    “ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”。
    是密码不对

1.首先修改/etc/my.cnf中的mysqld,添加skip-grant-tables,保存退出


image.png

2,执行 service mysql restart,重启之后,再尝试登陆mysql,遇到需要输入密码,直接回车
3,执行 use mysql
4,执行 update user set password=PASSWORD("你的新密码") where user="root"; 这是mysql的执行语句,所以记得末尾加上;号
5,执行 exit ,退出mysql
6,执行 vim /etc/mysql/my.cnf,打开文件后, 把刚才添加的 skip-grant-tables 删掉,保存退出
7,执行 service mysql restart。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 转载:https://www.cnblogs.com/zhoujinyi/p/4088866.html 一 简介:...
    SkTj阅读 1,852评论 0 6
  • mysqladmin -u root -p oldpass password newpass mysqladmin...
    不排版阅读 2,151评论 0 3
  • jdk1.8安装,tar解压,用户组发生变化,需要调整: 首先删除操作系统自带的jdk, 使用awk拼接执行的命令...
    ly稻草阅读 518评论 0 1
  • 原创:闻香时光 20180701临屏对句: 出句: 茶香缕缕氤氲境, 窗外芭蕉雨(陈飞虎) 对句: 笛韵悠悠淡泊心...
    林明元阅读 1,691评论 0 0
  • 最近我的很多文章简书这块只作为草稿,大部分都挪到我的公众号了,大家如果喜欢欢迎你关注我的公众号:奇迹父母 本文公众...
    我是吴小丽阅读 354评论 0 0