Ubuntu阿里云服务器安装Mysql

一、先下载MySQL软件

这个下载地址是在阿里云PHP安装脚本中找到的,通过这个地址下载的话,因为是走的阿里云的局域网环境,下载速度应该会相对更快一点。看下图红框显示的速度,我的服务器带宽只有1M哦,这个速度是阿里云内部局域网的速度,总之是非常快了。

运行命令:

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. wget http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.5.35-linux2.6-x86_64.tar.gz  

二、解压

先创建一个你需要解压文件的文件夹 mkdir /usr/mysql

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. tar zxvf mysql-5.5.35-linux2.6-x86_64.tar.gz  -C /usr/mysql/   

然后改名为mysql

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. cd /usr/mysql  
  2. mv mysql-5.5.35-linux2.6-x86_64.tar.gz mysql   

三、顺序执行以下命令

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. groupadd mysql  
  2. useradd -g mysql -s /sbin/nologin mysql  
  3. /usr/mysql/mysql/scripts/mysql_install_db --datadir=/usr/mysql/mysql/data/ --basedir=/usr/mysql/mysql --user=mysql   

#groupadd mysql //建MySQL组 
#useradd -g mysql -s /sbin/nologin mysql //建MySQL用户属于MySQL组 

运行下面命令是进行数据库的初始化:

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. /usr/mysql/mysql/scripts/mysql_install_db --datadir=/usr/mysql/mysql/data/ --basedir=/usr/mysql/mysql --user=mysql  

执行上一行代码会打印如下图

然后继续执行以下命令

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. chown -R mysql:mysql /usr/mysql/mysql/  
  2. chown -R mysql:mysql /usr/mysql/mysql/data/  
  3. chown -R mysql:mysql /usr/log/mysql  
  4. \cp -f /usr/mysql/mysql/support-files/mysql.server /etc/init.d/mysql  
  5. sed -i 's#^basedir=$#basedir=/alidata/server/mysql#'/etc/init.d/mysql  
  6. sed -i 's#^datadir=$#datadir=/alidata/server/mysql/data#'/etc/init.d/mysql  
  7. \cp -f /usr/mysql/mysql/support-files/my-huge.cnf /etc/my.cnf  
  8. -------------------------------------------------------------------------------------------------  
  9. 注意:这里需要看自己服务器的配置了,一般是  
  10. 1.my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。  
  11. 2.·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小  
  12.    
  13. RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。  
  14. 3·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,  
  15.    
  16. 所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。  
  17. 4·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。  
  18. 这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入  
  19.    
  20. 并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。  
  21.    
  22. 5. my-innodb-heavy-4G为大型应用配置的。这样的数据库要求内存在4Gb  
  23.    
  24.    
  25. ------------------------------------------------------------------------------------------------  
  26. sed -i 's#skip-locking#skip-external-locking\nlog-error=/usr/log/mysql/error.log#'/etc/my.cnf  
  27. chmod755/etc/init.d/mysql   

好的,过程中如果提示目录不存在,那么请自行创建目录。

接下来试试启动mysql

root@AY14061309211937343aZ: /usr/mysql/mysql# service mysql start
Starting MySQL
... * 
root@AY14061309211937343aZ: /usr/mysql/mysql# service mysql stop
Shutting down MySQL
... * 
这样的话mysql服务应该就起来了,也能够顺利关闭了。

如果起不来的话:

先修改以下两个变量  

  • basedir=  
  • datadir=  
    启动数据库的时候会出现没有权限之类的,运行上面代码解决。
    再使用 service mysql start 来尝试启动,若报错:
  • #Couldn't find MySQL server (/usr/bin/mysqld_safe),路径不对,不应该到/usr/bin下寻找mysqld_safe,怀疑mysql启动时加载配置文件出错,mysql配置文件的读取顺序为:  
  • /etc/my.cnf 
  • /etc/mysql/my.cnf 
  • /usr/local/mysql/etc/my.cnf 
  • ~/.my.cnf  

    挨个查看my.cnf文件,发现 /etc/mysql/my.cnf中的以上两个对应变量的值(basedir,datadir)不正确,修改后测试,发现可用service mysql start来启动mysql

    或者可直接删掉   /etc/mysql  这个目录!!!!!!

mysql启动后,可以查看下端口,确认mysql已经正常启动

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. netstat -tnl|grep 3306  

这就是正常启动了。

四、加链接

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. ln -s /usr/mysql/mysql/bin/mysql /usr/bin  
  2. ln -s /usr/mysql/mysql/bin/mysqladmin /usr/bin  

以后就可以直接输入mysql -uroot -padmin 就可以连接上了。

五、为root用户设置密码

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. /alidata/server/mysql/bin/mysqladmin -u root password 'admin'  

六、用root登陆mysql

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. mysql -uroot -padmin  

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. GRANT ALL PRIVILEGES ON *.* TO root IDENTIFIED BY "admin"  

执行以上命令后,客户端工具可以通过远程连接到服务器mysql了,为用户root在所有地方登陆赋予权限,使用密码 abc123abc

注:乱码问题,用客户端工具(我用的是SQLyog)连接到mysql后,发现客户端中的汉字都变成了问号?

如遇乱码??

可尝试修改/etc/my.cnf
[mysqld]
在这里添加以下3行

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. character-set-server=utf8  
  2. collation-server = utf8_unicode_ci  
  3. init_connect = 'set collation_connection = utf8_unicode_ci;'  

最后,重启服务器(是Ubuntu重启)乱码问题即可解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值