我好久没有写这个系列了,也确实不知道写什么。回首我学习数据库的路,最开始搞Oracle的时候其实没有搞懂Oracle,也不知道学了什么,后来学习MySQL尤其是InnoDB才大概入了门了。我最开始学习MySQL的时候直接看的是《高性能MySQL》,真的是写的比较深,学了好多好多回才知道了。不过不可否认这本书能用来入门,但是需要多看好多回。
我加了几个群,但是发现很多人总喜欢问:MySQL怎么装,我为什么改了密码没办法登录了,基本都是些可以说是很入门的问题。那我就想说说这些问题。
一 安装
MySQL安装基本分为三种办法:RPM安装,通用二进制包和源码编译安装。
RPM安装
RPM安装很简单,只需要从mysql.com上下载集成包,名字一般为:MySQL-[version]-[OS].[platform].rpm-bundle.tar。这里面有好几个rpm包,下面图中是5.5的:
只需要安装client和server就可以了。安装好之后就可以执行mysql命令了。
这样安装以后会把数据目录放到/var/lib/mysql下面,只需要根据自己的需要迁移就可以了。
通用二进制包安装
通用二进制包我认为就是提前编译好的mysql,压缩包解压以后做一个软连接就可以了:
ln -s /root/software/mysql-5.5.47-linux2.6-x86_64 /usr/local/mysql
这样之后,修改一下环境变量,把这个路径放到PATH里就可以了。
源码编译安装
源码编译安装速度比较慢,但是有个好处就是可以定制功能,还能把tcmalloc这种神器编译到里面。
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
这样就可以了,还有多少选项,可以好好利用搜索引擎。如果是mysql5.7的编译,还需要使用boost,下载带boost的包,编译的时候使用这个命令就可以:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DCMAKE_EXE_LINKER_FLAGS="-ltcmalloc" -DWITH_BOOST=./boost
如果cmake没有问题,就可以直接执行make && make install,执行结束后,MySQL就安装好了。
到这里安装就完全结束了,至于配置,我就不想写了,太没意思了。
下面说说用户吧。MySQL大概有两种常用的登录方式:Unix套接字,TCP方式。
Unix套接字主要用于服务器本地登录,TCP登录一般用于远程登录。
怎么说呢?root@localhost和root@'%'实际上可以认为是两个不同的用户,虽然都是一个用户,但是可以分配不同的权限,不同的密码。因此在改密码的时候,一定要注意用户的登录方式。比如有些同仁刚刚学习的时候,总会搞不清楚这个,改了密码之后就登录不上去了。
所以建议创建用户的时候,使用grant all on *.* to 'root'@'%' identified by 'root';这样的语句,这样比较简单的看出来授权给什么用户了。
今天就写到这里把。