ubuntu 安装mysql

来源:互联网 发布:gcc stl源码 编辑:程序博客网 时间:2024/06/06 14:33
(1)Ubuntu12.10 root用户登录设置
ubuntu12.10默认不允许root用户登录,在登录窗口只能看到普通用户和访客登录。
以普通身份登陆ubuntu后,我们需要做一些修改
普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo  -s,然后输入普通用户登陆的密码,回车即可进入root用户权限模式。
然后执行: vi /etc/lightdm/lightdm.conf
增加:greeter-show-manual-login=true allow-guest=false
修改完的整个配置文件是:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码
allow-guest=false #不允许guest登录
然后我们启动root帐号:
sudo passwd root
根据提示输入root帐号密码。
重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。


(2)Ubuntu12.10 命令行模式启动
Ubuntu12.10 命令行模式启动方法:
终端执行:vi /etc/default/grub
将 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
然后执行 update-grub
重启ubuntu,这时默认就从命令行模式启动了。


(3)apt-get install 安装失败解决方案
Ubuntu下安装常用服务apt-get install 真得很好用,但它也有发生错误的时候。
Package *** is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source.
解决方案是先运行apt-get update更新软件包列表,然后再安装需要用到的package,不信你试试看。


以下是apt-get和apt-cache命令的详细介绍:
apt-get命令的用法很简单,以下是其主要功能的介绍:
apt-get update 更新软件包列表
apt-get upgrade 升级系统中的所有软件包
apt-get install 安装软件包
apt-get remove 卸载软件包
apt-get source 下载源码包
apt-cache是另外一个很有用的命令,可以用它来搜索某个软件包的名字,或者显示某个软件包的详细信息。
apt-cache search mysqlcpp 搜索含有mysqlcpp字样的软件包
apt-cache show ssh 查看ssh软件包的详细信息


(4)Ubuntu安装PHP环境,Apache2+MySQL+PHP
sudo apt-get install mysql-server // 安装MySQL服务端
sudo apt-get install mysql-client // 安装MySQL客户端
sudo apt-get install apache2 // 安装Apache
sudo apt-get install php5 // 安装PHP5
sudo apt-get install libapache2-mod-php5 // 配置APACHE+PHP
sudo apt-get install libapache2-mod-auth-mysql // 让apache支持MySQL
sudo apt-get install php5-mysql // mysql连接
sudo apt-get install php5-gd // GD库
sudo apt-get install phpMyAdmin // 安装phpMyAdmin图形化管理工具
注:在安装phpMyAdmin图形化管理工具时,系统会将其自动安装在/usr/share目录下,此时只需将该目录中的phpMyAmin目录拷贝到/var/www目录下,然后运行http:/localhost/phpmyadmin即可访问。


(5)C语言访问MySQL数据库问题时,系统缺少mysql.h头文件
Ubuntu在默认情况下,并没安装libmysqlclient-dev库,在用C语言访问MySQL数据库时,
首先执行:apt-get install libmysqlclient-dev
编译指令:gcc -I/usr/include/mysql -o * *.c -L/usr/lib/mysql -lmysqlclient


(6)MySQL开启远程访问方法
MySQL安装后,默认不支持远程访问,解决方案是:
用vim编辑器打开MySQL配置文件/etc/mysql/my.cnf,注释掉下面一行:
#bind-address           = 127.0.0.1
然后给远程用户赋权限:(如果已经赋予权限,则没有必要)
GRANT ALL ON *.* TO username@'%' IDENTIFIED BY 'password';
最后重启MySQL服务,就可以远程访问了。


(7)C语言连接MySQL数据库客户端中文乱码问题
首先查看MySQL数据库默认编码:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
此时,我们发现默认编码latin1并非我们想要的,假设我们的数据是utf8编码,我们需要修改MySQL配置文件:/etc/mysql/my.cnf
[client]下添加:default-character-set=utf8
[mysqld]下添加:character_set_server=utf8
然后重启MySQL服务:service mysql restart


再次查看编码时,我们发现默认编码已经发生了变化:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
数据库和表可能需要重建,看看问题是否依然存在,通常情况下问题解决了。


但如果你使用C语言访问数据库的话,有个函数,你得特别注意:
int mysql_set_character_set(MYSQL * mysql, char * csname)
在数据库连接成功后,在插入数据前一定要调用此函数修改C语言默认字符集,默认为latin1编码;第二个参数的格式是"utf8";调用成功返回0,失败返回非0值。


(8)配置静态IP地址,适用于Ubuntu Server版本
#vim /etc/network/interfaces
原文件内容:
auto lo
iface lo inet loopback
auto em1
iface em1 inet dhcp
此处默认使用DHCP分配IP,我们将其修改如下:
auto lo
iface lo inet loopback
# The primary network interface
auto em1
# iface em1 inet dhcp
iface em1 inet static
address 192.168.0.188
netmask 255.255.255.0
gateway 192.168.0.1
设置完IP,子网掩码和网关后,我们设置DNS服务器:
#vim /etc/resolv.conf
添加DNS:
search mydomain.com
nameserver 192.168.10.100
nameserver 192.168.10.104
配置完成后,重启网络服务:
/etc/init.d/networking restart
注意:重启Ubuntu系统后,/etc/resolv.conf会被重写,此时的dns又被修改为默认值,所以我们需要永久性修改DNS。方法如下:
#vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.10.100
nameserver 192.168.10.104
最后重启networking服务使其生效:
/etc/init.d/networking restart
(9)Ubuntu 12.10安装vsftpd服务,530 login incorrect解决方案
首先安装vsftd服务端:apt-get install vsftpd
然后修改配置文件:vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
此时我们登陆时,可能会报530 login incorrect错误,经过自己的一番尝试,终于找到了解决方案:
apt-get remove vsftpd
rm /etc/pam.d/vsftpd
apt-get install vsftpd
 
(10) 设置服务程序开机自动启动
首先将启动服务程序的shell脚本放在/etc/init.d目录下,然后输入命令:
sysv-rc-conf 脚本名 on
重启后你便发现脚本已经在启动时执行了。

from : http://blog.sina.com.cn/s/blog_74a7e56e01013le1.html

0 0