Friday, January 25, 2013

How to: Move the MySQL data directory in *buntu


  1. Open the terminal
  2. Stop MySQL with the command "sudo /etc/init.d/mysql stop".
  3. Copy the existing data directory (by default located in /var/lib/mysql) using the command "sudo cp -R -p /var/lib/mysql /path/to/new/datadir". All you need are the data files, so delete the others with the command "sudo rm /path/to/new/datadir". (You will get a message about not being able to delete some directories, but that's what you want.)
  4. Edit the MySQL configuration file with the command "gksu gedit /etc/mysql/my.cnf". Find the entry for "datadir", and change the path (which should be "/var/lib/mysql") to the new data directory.
  5. NOW FOR THE PART THE OTHER TUTORIALS DON'T MENTION... From 7.10 (Gutsy Gibbon) forward, Ubuntu uses some security software called AppArmor that specifies the areas of your filesystem applications are allowed to access. Unless you modify the AppArmor profile for MySQL, you'll never be able to restart MySQL with the new datadir location.
    • In the terminal, enter the command "sudo gedit /etc/apparmor.d/usr.sbin.mysqld".
    • Copy the lines beginning with "/var/lib/mysql", comment out the originals with hash marks ("#"), and paste the lines below the originals.
    • Now change "/var/lib/mysql" in the two new lines with "/path/to/new/datadir". Save and close the file.
    • Reload the AppArmor profiles with the command "sudo /etc/init.d/apparmor reload".
  6. Restart MySQL with the command "sudo /etc/init.d/mysql restart". With any luck, MySQL will start with no errors, and your data will be stored in the new location!
Credit goes to http://ubuntuforums.org/showthread.php?t=897354

Problems met when installing ubuntu with RAID1

0. "BOOTMGR is missing" when installing from usb
A: Format the drive as FAT (not FAT32)


1. Unable to install GRUB in /dev/sdb
A: From the link http://askubuntu.com/questions/43036/how-do-i-install-grub-on-a-raid-system-installation

Many of the answers here are just plain incorrect, telling you to disable BIOS RAID! The correct solution is atthis blog entry. I'll summarize it below.
At the stage of the install where it is attempting to install GRUB it will detect as
/dev/mapper
This is incomplete! That's why the GRUB install fails.
You need the actual name of the RAID array to install to. So during that step, pressctrl+alt+F2 to drop to a busybox terminal, then enter
ls -l /dev/mapper
Pick out the name of your array from the list shown, then press ctrl+alt+F1 to switch back to the install (you can switch back and forth as much as you like with no problems) and enter it in the field as
/dev/mapper/{your array name}
then GRUB installs perfectly and you're ready to go, with a proper BIOS RAID array intact.
It works in my case...

2. What is the default root password of ubuntu?
A: just sudo -i to enter the root mode. 

3. How to enter graphical mode from command line?
A: Plz refer to  http://www.linuxquestions.org/questions/ubuntu-63/%5Bstartx-problem%5D-startx-goes-to-black-grey-screen-and-comes-back-to-command-prompt-853802/
sudo apt-get install xinit
sudo apt-get install ubuntu-desktop  (it takes a long long time...)



Monday, September 24, 2012

C.5.2.4. Client does not support authentication protocol

Error:

shell> mysql
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
To solve this problem, you should use one of the following approaches:
  • Upgrade all client programs to use a 4.1.1 or newer client library.
  • When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.
  • Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:
    mysql> SET PASSWORD FOR
        -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
    
    Alternatively, use UPDATE and FLUSH PRIVILEGES:
    mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
        -> WHERE Host = 'some_host' AND User = 'some_user';
    mysql> FLUSH PRIVILEGES;
    
    Substitute the password you want to use for newpwd in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one.
  • Tell the server to use the older password hashing algorithm:
    1. Start mysqld with the old_passwords system variable set to 1.
    2. Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query:
      mysql> SELECT Host, User, Password FROM mysql.user
          -> WHERE LENGTH(Password) > 16;
      
      For each account record displayed by the query, use the Host and User values and assign a password using theOLD_PASSWORD() function and either SET PASSWORD or UPDATE, as described earlier.
Note
In older versions of PHP, the mysql extension does not support the authentication protocol in MySQL 4.1.1 and higher. This is true regardless of the PHP version being used. If you wish to use the mysql extension with MySQL 4.1 or newer, you may need to follow one of the options discussed above for configuring MySQL to work with old clients. The mysqli extension (stands for "MySQL, Improved"; added in PHP 5) is compatible with the improved password hashing employed in MySQL 4.1 and higher, and no special configuration of MySQL need be done to use this MySQL client library. For more information about the mysqli extension, see http://php.net/mysqli.
It may also be possible to compile the older mysql extension against the new MySQL client library. This is beyond the scope of this Manual; consult the PHP documentation for more information. You also be able to obtain assistance with these issues in our MySQL with PHP forum.
From: http://dev.mysql.com/doc/refman/5.0/en/old-client.html

Wednesday, August 1, 2012

MYSQL collection


(1) Insert rows from select result set

13.2.5.1. INSERT ... SELECT Syntax


INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name [(col_name,...)]
    SELECT ...
    [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

eg. Tie_all have the same structure as Tie2. Tie_all:(id,reviewer1,reviewer2,tie_strength)
insert into Tie_all (reviewer1,reviewer2,tie_strength) (select reviewer1,reviewer2,tie_strength from Tie2);

Thursday, June 7, 2012

Set up a svn server on linux quickly

Here is a quick guide for setting up a basic svn server on a linux platform. If you are looking for a detailed configuration, please refer to the manual of svn.
  1. yum -y intall subversion  #install svn
  2. svnadmin create /xx/svn_repository/plancky_code   #create a repository
  3. cd /xx/svn_reposity/plancky_code and then modify server.conf, passwd   # add user and password
      • vim server.conf and uncomment "password-db = passwd"
      • vim passwd and add an item "username=password"
  4. svnserve -d -r /xx/svn_repository/plancky_code   # start svn server
  5. svn import /xx/plancky svn://localhost/plancky_code -m initial import --username username --password password  #import plancky to repository
  6. svn co svn://localhost/plancky_code --username username --password password  #check out code from repository
    • ERROR: If meeting Error"SVN: could not use external editor to fetch log message", we need to add a SVN_EDITOR to bash configuration
        •       vim ~/.bash_profile
        •       export SVN_EDITOR="/usr/bin/vim"
        •       reopen the terminal to load the bash configuration

Monday, June 4, 2012

CS conference ranking & submission deadline

Computer Science conference ranking and submission deadline
[1] CS security Maintained by Guofei Gu in TAMU
http://faculty.cs.tamu.edu/guofei/sec_conf_stat.htm

[2] Submission deadline Maintained by Niranjan Hasabnis
http://www.cs.sunysb.edu/~nhasabni/conf.html

[3] Networking Conferences Statistics
http://www.cs.ucsb.edu/~almeroth/conf/stats/

[4] Top Crypto and Security Conferences Ranking
http://icsd.i2r.a-star.edu.sg/staff/jianying/conference-ranking.html